C++ 查找字符串的多个引用

C++ 查找字符串的多个引用,c++,C++,如何在一个字符串中找到多个字符串? 并在所有事件中用另一个字符串替换找到的字符串? 比如,我有下面的字符串: "A cat is going. It is black-white stripped." 我想用are替换所有出现的“is”。字符串。replace()就是您想要的。过来看。当然,这必须运行多次,直到要替换的字符串在find()上返回string::npos。试试这个: int main(int argc, char *argv[]) { if(argc != 3) {

如何在一个字符串中找到多个字符串? 并在所有事件中用另一个字符串替换找到的字符串? 比如,我有下面的字符串:

"A cat is going. It is black-white stripped."
我想用are替换所有出现的“is”。

字符串。
replace()
就是您想要的。过来看。当然,这必须运行多次,直到要替换的字符串在
find()
上返回
string::npos
。试试这个:

int main(int argc, char *argv[]) {

  if(argc != 3) {
    cout << "Usage: <binary> <toFind> <toReplace>" << endl;
    exit(1);
  }

  //string str(argv[1]);
  string str = "A cat is going. It is black-white striped.";
  string dest;
  string toFind(argv[1]);
  string toReplace(argv[2]);

  cout << "Original string = " << str << endl;

  while(str.find(argv[1]) != string::npos) {
    size_t pos = str.find(argv[1]);
    str.replace(pos, toFind.length(), toReplace, 0, toReplace.length());
  }

  cout << "Replaced string = " << str << endl;
  return 0;
}
intmain(intargc,char*argv[]){
如果(argc!=3){
coutstring.
replace()
就是您想要的。请检查它。当然,这必须运行多次,直到您想要替换的字符串在
find()
上返回
string::npos
。请尝试以下操作:

int main(int argc, char *argv[]) {

  if(argc != 3) {
    cout << "Usage: <binary> <toFind> <toReplace>" << endl;
    exit(1);
  }

  //string str(argv[1]);
  string str = "A cat is going. It is black-white striped.";
  string dest;
  string toFind(argv[1]);
  string toReplace(argv[2]);

  cout << "Original string = " << str << endl;

  while(str.find(argv[1]) != string::npos) {
    size_t pos = str.find(argv[1]);
    str.replace(pos, toFind.length(), toReplace, 0, toReplace.length());
  }

  cout << "Replaced string = " << str << endl;
  return 0;
}
intmain(intargc,char*argv[]){
如果(argc!=3){

您可以使用Boost::String.IIRC,它们有一个find\u all/replace\u all函数来完成此操作

#包括
#包括
int main()
{ 
std::string s=“一只猫要走了。它是黑白相间的。”;

std::cout您可以使用Boost::String.IIRC,它们有一个find\u all/replace\u all函数来完成这项工作

#包括
#包括
int main()
{ 
std::string s=“一只猫要走了。它是黑白相间的。”;
我能希望这只猫只是“条纹”吗?我希望这只猫只是“条纹”。