我用的是小写的string!!
#include <string> #include <iostream> using namespace std; int main() { string str("a bc abc abcd abcde hello"); string searchString("hello"); string replaceString("ab"); string::size_type pos = 0; while((pos = str.find(searchString, pos)) != string::npos) { str.replace(pos, searchString.size(), replaceString); pos++; } cout << str << endl; return 0; }
但是如果str是vector<string>里的一个元素的话,用迭代器是不能调用replace和find函数的。用循环就可以。
然后string(不是char*)字符串的比较可以直接用==,简单粗暴。这个比较可以用迭代器也可以用下标。