std::string query = “Hello, World!”; std::string subStr = “World”; 查询query中是否包含substr ,如果包含则去除
时间: 2024-09-27 14:04:18 浏览: 24
利用C++实现从std::string类型到bool型的转换
5星 · 资源好评率100%
要检查`std::string` `query` 是否包含子字符串 `subStr` 并移除所有出现的部分,你可以使用`std::string` 的成员函数`find`和`replace`。这里是一个示例代码:
```cpp
#include <iostream>
#include <string>
int main() {
std::string query = "Hello, World!";
std::string subStr = "World";
// 查找子串在原字符串中的位置
size_t pos = query.find(subStr);
while (pos != std::string::npos) { // 当找到子串时执行替换操作
query.replace(pos, subStr.length(), ""); // 使用空字符串替换子串
// 继续查找下一个子串的位置
pos = query.find(subStr, pos + 1); // 从上次出现后的下一个字符开始查找
}
std::cout << "Updated query: " << query << std::endl; // 输出结果
return 0;
}
```
这段代码首先找到`subStr`第一次出现在`query`中的位置,然后用空字符串替换那一段,接着继续查找下一次出现的位置,直到没有更多匹配为止。
阅读全文