C++的字符串查找问题,求教
本帖最后由 zhf24148517 于 2013-02-06 14:56:51 编辑 "name:wordsp" "xinghao:hao01" "IP:219.217.220.122" "LOGIN_00=fenjihao1/fenjimi1" "LOGIN_01:fenjihao1/fenjimi1"
上面这种字符串,我想截取2个fenjihao1/fenjimi1,有什么好方法么? c++ 字符串
[解决办法]
首先,先弄清楚你想要做什么。
如果仅仅是要字符串fenjihao1/fenjimi1,那根本不用去查找,直接做一个就成。
你是不是想要:LOGIN_00=后面的字符串和LOGIN_01=后面的字符串?
先把问题弄清,才有办法解决。
[解决办法]
用正则表达式吧
[解决办法]
LOGIN_00: 如果是mutibyte,则占9个char字符,可以用string自带的substring函数,
substring(str,9,str.size());
如果是unicode,则占9个TCHAR,先把字符串转成CString,CString有Mid函数可以进行类似的处理
[解决办法]
自己写一个 find 函数来解决呗
[解决办法]
如果你用C#的话,有方法 indexof
如果用C++,字符串直接查找就好
然后再从关键字符串位置向后找到"的位置, 截取。
[解决办法]
是啊。用int flag = str.find("LOGIN_00").
string result = str.strsub(flag + 8 ,... );
就是用这两个函数就可以啦。
[解决办法]
cstring 就更容易了。。 个人认为~