std::string query = "Hello, World!"; std::string subStr = "World"; 查询query中是否包含substr ,如果包含则去除
时间: 2024-09-27 07:03:50 浏览: 30
利用C++实现从std::string类型到bool型的转换
5星 · 资源好评率100%
在C++中,你可以使用`std::string::find`函数来检查子字符串`subStr`是否存在于`query`中,然后使用`std::string::erase`函数来移除所有匹配的部分。这里是一个简单的示例:
```cpp
#include <iostream>
#include <string>
std::string query = "Hello, World!";
std::string subStr = "World";
// 检查子串是否存在并获取其位置(如果不存在返回npos)
size_t pos = query.find(subStr);
// 如果找到子串
if (pos != std::string::npos) {
// 从该位置开始到子串结束的位置(包括结束位置)进行删除
query.erase(0, pos + subStr.length());
}
// 输出结果
std::cout << "Updated query: " << query << "\n";
```
这段代码首先查找`subStr`在`query`中的位置,如果找到,就从起始位置开始删除直到子串结束。如果没有找到,`find`会返回`npos`,所以不会执行删除操作。
阅读全文