c++ - 在字符串中查找所有需要的单词

标签 c++ string search

我有一个太长的字符串,我想找到并定位所有需要的词。例如,我想找到字符串中所有“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/

相关文章:

c++ - 为什么 std::atomic_thread_fence 有 "C"链接?

c++ - 为什么结构在 Xcode 中不起作用,而在 Visual C++ 中起作用?需要帮助!

python - MySQLdb 中执行参数类型的问题

java - 打印十六进制字符串的地址而不是十六进制字符串值

c++ - 局部变量或指针

c++ - 在现代 C++ 中是否可以将字符串文字作为参数传递给 C++ 模板?

php - PHP 中的静态函数变量和连接

python - 如何将某些行文本、可变位置移动到特定列

ios - 如何在iOS中使用PDFKit以编程方式从pdf文件中提取粗体文本?

c++ - 有了一些 map 和一些根,我们想遵循什么标准算法有助于创建路径?