string删除子串c++
时间: 2023-08-18 14:10:19 浏览: 212
在C++中,可以使用string类的erase()函数来删除字符串中的子串。以下是一个示例代码:
```cpp
#include <iostream>
#include <string>
using namespace std;
void deleteSubstring(string& str, const string& sub) {
size_t pos = str.find(sub);
while (pos != string::npos) {
str.erase(pos, sub.length());
pos = str.find(sub, pos);
}
}
int main() {
string str, sub;
cout << "请输入字符串: ";
cin >> str;
cout << "请输入要删除的子串: ";
cin >> sub;
deleteSubstring(str, sub);
cout << "删除子串后的字符串: " << str << endl;
return 0;
}
```
在这个示例中,我们定义了一个deleteSubstring()函数,它接受一个字符串和一个子串作为参数。函数使用string类的find()函数来查找子串在字符串中的位置,然后使用erase()函数来删除子串。通过循环,我们可以删除字符串中所有的子串。
请注意,这个示例只能删除第一个出现的子串。如果你想删除所有的子串,你可以在循环中继续查找并删除子串,直到找不到为止。
#### 引用[.reference_title]
- *1* *3* [C++ 删除字符串的两种实现方式](https://blog.csdn.net/kids_calamus/article/details/82720234)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v4^insert_chatgpt"}} ] [.reference_item]
- *2* [C++string查找子串并提取](https://blog.csdn.net/weixin_42156097/article/details/110952523)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v4^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文