find_first_of和find_last_of及相关函数并举例
时间: 2023-11-21 10:05:08 浏览: 88
indexOf 和 lastIndexOf 使用示例介绍
除了 `find_first_of`,`std::string` 类中还有一些其他的查找函数,它们的作用都是在字符串中查找指定字符或字符集的位置。下面是几个常用的查找函数及其功能:
1. `find(char ch, size_t pos = 0) const`:在字符串中查找字符 `ch` 的位置,从 `pos` 位置开始查找,默认值为 0。
```cpp
std::string s = "hello, world!";
size_t pos = s.find('o'); // 返回 4
```
2. `rfind(char ch, size_t pos = npos) const`:在字符串中查找字符 `ch` 的位置,从 `pos` 位置往前查找,`npos` 表示从字符串的末尾开始查找。
```cpp
std::string s = "hello, world!";
size_t pos = s.rfind('o'); // 返回 8
```
3. `find_first_of(const char* str, size_t pos = 0) const`:在字符串中查找第一个匹配指定字符集中任意一个字符的位置。
```cpp
std::string s = "hello, world!";
size_t pos = s.find_first_of("ow"); // 返回 4
```
4. `find_last_of(const char* str, size_t pos = npos) const`:在字符串中查找最后一个匹配指定字符集中任意一个字符的位置。
```cpp
std::string s = "hello, world!";
size_t pos = s.find_last_of("ow"); // 返回 9
```
5. `find_first_not_of(const char* str, size_t pos = 0) const`:在字符串中查找第一个不匹配指定字符集中任意一个字符的位置。
```cpp
std::string s = "hello, world!";
size_t pos = s.find_first_not_of("helo, "); // 返回 5
```
6. `find_last_not_of(const char* str, size_t pos = npos) const`:在字符串中查找最后一个不匹配指定字符集中任意一个字符的位置。
```cpp
std::string s = "hello, world!";
size_t pos = s.find_last_not_of("dlrow!"); // 返回 10
```
阅读全文