首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

怎样得到字符串中相同字符串的数量?请高手指教解决方案

2012-02-10 
怎样得到字符串中相同字符串的数量?请高手指教例:AnsiStringaaaaasdfsdCMGkljoilkjkjllCMGsjdflkjsdCMG

怎样得到字符串中相同字符串的数量?请高手指教
例:
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为要查找的内容,返回值为个数。

热点排行