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=“一只猫要走了。它是黑白相间的。”;
我能希望这只猫只是“条纹”吗?我希望这只猫只是“条纹”。