0

我将如何在字符数组中查找单词的位置,然后用另一个单词替换该单词?

4

1 回答 1

1

我建议不要使用字符数组,而是使用std::string. 如果新字符串最终变大,这将防止您必须实现执行实际搜索和替换以及可能的缓冲区管理的逻辑。包括用于在字符串中搜索替换std::string元素的成员函数。

#include <string>
#include <iostream>

int main()
{
    std::string haystack = "jack be nimble jack be blah blah blah";
    static const std::string needle = "nimble";

    std::cout << "before: " << haystack << std::endl;

    // Find the word in the string
    std::string::size_type pos = haystack.find(needle);

    // If we find the word we replace it.
    if(pos != std::string::npos)
    {
        haystack.replace(pos, needle.size(), "drunk");
    }

    std::cout << "after: " << haystack << std::endl;
}

这会产生以下输出

之前:杰克是敏捷杰克是胡说八道
之后:杰克是醉了杰克是胡说八道

于 2013-06-21T20:56:12.913 回答