c++的string查找某个字符串或者判断某个字符串在另一个字符串当中的函数
时间: 2024-09-21 18:02:05 浏览: 37
在 C++ 中,`std::string` 类型提供了一些内置函数来进行字符串查找和判断操作。以下是几个常用的函数:
1. `find()` 函数:用于查找给定子串在原字符串中首次出现的位置。如果找到,返回该子串的起始索引;若未找到,则返回 `npos`(`size_t` 类型的最大值)。例如:
```cpp
std::string str = "Hello, World!";
size_t index = str.find("World"); // 如果找到了,index 将是6
```
2. `rfind()` 函数:与 `find()` 相似,但从字符串末尾开始向前搜索。返回子串最后一次出现的位置。
3. `contains()` 或者 `find_first_of()`:有些库可能会提供这样的辅助函数,检查一个字符串是否包含另一个字符串。例如:
```cpp
bool containsStr(std::string mainStr, std::string substr) {
return mainStr.find(substr) != std::string::npos;
}
```
4. `compare()` 函数:比较两个字符串,如果相等则返回0,小于0表示第一个字符串在第二个之前,大于0反之。也可以用来判断一个字符串是否是另一个的前缀或后缀。
5. `find_all()` 或者 `search()`:对于更复杂的模式匹配或正则表达式查找,可以使用 `<algorithm>` 标准库里的 `std::search()` 或者第三方库(如 Boost.Regex)提供的高级功能。
阅读全文