【发布时间】:2014-06-25 14:59:35
【问题描述】:
字符串都是这样的:
string s="name_number";
我想把名字和数字分开,得到两个字符串“名字”和“数字”。然后我需要号码做加法:
int new_number=number+10;
并使用“name_newnumber”重建字符串。 有没有一种聪明而快速的方法来做到这一点?它是具有实时限制的程序,因此它应该尽可能快。我只提出了 split 或 find_first_of 但我想知道是否有更好的方法
【问题讨论】:
-
大概
number是由数字组成的,没有拼出来? -
他得到了一个字符串“name_10”,需要将其更改为“name_11”、“name_12”等。获取下划线的位置并将下划线的位置+1转换为int,添加您的值并创建一个新字符串。
-
加快速度应该不会太糟糕。取最后一个字符,增加它,占
'9'->'0',如果发生这种情况,向左移动。重复,如果没有数字,则插入'1'。 -
到目前为止你尝试过什么?在寻求帮助之前,您做了哪些研究?
-
我知道这听起来很陈旧,但是:您是否分析了您的程序并找到了证明天真的“find_first_of”方法太慢的证据?