怎么样在一个string类中获取相同的子字符串出现的次数以及位置?
解决方案
2
“相同的子字符串”是什么意思啊?给定一个子串吗?那可以用字符串查找方法啊,有C语言风格的strstr,还有STL中的find_first_of,要不就本人实现,用暴力匹配、KMP、BM都可以
4
find能返回子字串的位置,循环调用以获得出现的总次数
8
http://en.cppreference.com/w/cpp/string/basic_string/find
4
并没有函数提供这个功能,要么本人写,要么find,rfind,find_first_of一个个查找
http://blog.csdn.net/cywosp/article/details/7280466
http://blog.csdn.net/cywosp/article/details/7280466
10
5
string类的函数没有提供这个功能,find只是可以找到第一次出现特定字符串时其的首字符索引
所以这个本人感觉你可以这样,找到一个字符串的位置之后把其改变,这样第二次调用find函数后
找到的是第二个的字符串所在位置!
http://blog.csdn.net/zycxnanwang/article/details/51728915
所以这个本人感觉你可以这样,找到一个字符串的位置之后把其改变,这样第二次调用find函数后
找到的是第二个的字符串所在位置!
http://blog.csdn.net/zycxnanwang/article/details/51728915
10
string buffer="123456789<lab>abcdefg<lab>123456"; string s_lab="<lab>"; int index=0; int n=0; cout<<"出现的位置"; while ((n=buffer.find(s_lab,n+1))!=-1) //buffer.find(s_lab,n+1)就是从n+1的位置开始找s_lab找到返回int { cout<<n<<" "; index++; } cout<<"出现次数:"<<index<<endl; //出现的位置从0计算而不是从1
供参考
5
看过5楼链接吗?