怎样得到字符串中相同字符串的数量?请高手指教
例:
AnsiString aa;
aa = "asdfsdCMGkljoilkj kjllCMGsjdflkjsdCMGsdfsdf ";
怎样得到字符串 "CMG "的数量?
字符串 "CMG "的位置不确定,字符串aa的内容不确定
高手指教呀!
[解决办法]
不是有获得子串的第一位置吗?获得了再在剩下的子串中查找,
用循环或者递归都可以。
不过好像没有直接那样的函数。
[解决办法]
int i = 0;
String tmp = aa.Trim();
while(tmp.Pos( "CMG ") > 0)
{
i++;
tmp.delete(tmp.Pos( "CMG "),3);
}
[解决办法]
AnsiString aa;
aa = "asdfsdCMGkljoilkj kjllCMGsjdflkjsdCMGsdfsdf ";
string bb = aa.c_str();
int num = count(aa.begin(),aa.end(), "CMG ");
num就是结果
包含头文件就可以了
#include <iostream.h>
#include <string.h>
#include <algorithm>
[解决办法]
路过,同楼上丁哥,标准库的count算法。
count(beg, end, val)
其中beg为指向aa首的迭代器(可近似作“指针”理解),end为指向aa末位下一位的迭代器(类似于字符数组最后一位的 '\0 '符),val为要查找的内容,返回值为个数。