我想在不使用外部库的情况下替换一些单词。我的第一次尝试是复制字符串,但效率不高,所以这是我使用地址的另一次尝试:
void ReplaceString(std::string &subject, const std::string &search, const std::string &replace)
{
size_t position = 0;
while ((position = subject.find(search, position)) != std::string::npos) //if something messes up --> failure
{
subject.replace(position, search.length(), replace);
position = position + replace.length();
}
}
因为这也不是很有效,我想用另一个东西,但我卡住了;我想使用一个函数,比如replace_stuff(std::string & a);
使用string.replace()
和string.find()
(用 for 循环或其他东西解析它),然后使用std::map <std::string,std::string>;
它对我来说非常方便。
我想将它用于大量输入单词。(假设用一些无害的词代替许多坏词)