我有一个太长的字符串,我想找到并定位所有需要的词。例如,我想找到字符串中所有“apple”的位置。你能告诉我怎么做吗? 谢谢
最佳答案
反复申请std::string::find
如果你使用的是 C++ 字符串,或者 std::strstr
如果您使用的是 C 字符串;在这两种情况下,每次迭代都会在最后一次匹配后开始搜索 n 个字符,其中 n 是单词的长度。
std::string str="one apple two apples three apples";
std::string search="apple";
for(std::string::size_type pos=0; pos<str.size(); pos+=search.size())
{
pos=str.find(search, pos);
if(pos==std::string::npos)
break;
std::cout<<"Match found at: "<<pos<<std::endl;
}
( link )
关于c++ - 在字符串中查找所有需要的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11362576/