sring.find_first_of()
时间: 2023-08-17 12:07:21 浏览: 105
`string::find_first_of()` 是 C++ 中 `std::string` 类的成员函数,用于在字符串中查找第一个匹配指定字符集中任一字符的位置。
该函数的语法如下:
```cpp
size_t find_first_of(const string& str, size_t pos = 0) const noexcept;
size_t find_first_of(const char* s, size_t pos = 0) const noexcept;
size_t find_first_of(const char* s, size_t pos, size_t count) const noexcept;
size_t find_first_of(char c, size_t pos = 0) const noexcept;
```
参数说明:
- `str`:要搜索的字符串。
- `s`:要搜索的 C 风格字符串。
- `pos`:搜索的起始位置,默认为 0。
- `count`:要搜索的 C 风格字符串的字符数。
- `c`:要搜索的单个字符。
返回值:
- 如果找到匹配字符,则返回第一个匹配字符的位置。
- 如果未找到匹配字符,则返回 `string::npos`。
示例用法:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, world!";
size_t found = str.find_first_of("el", 0);
if (found != std::string::npos) {
std::cout << "First occurrence of 'e' or 'l' is at position " << found << std::endl;
} else {
std::cout << "No occurrence of 'e' or 'l' found." << std::endl;
}
return 0;
}
```
输出结果:
```
First occurrence of 'e' or 'l' is at position 1
```
在上述示例中,`find_first_of()` 函数用于查找字符串 `str` 中第一个匹配字符集 "el" 中的字符的位置。由于字符 'e' 在位置 1 处首次出现,因此返回值为 1。
注意:`find_first_of()` 函数还有一个重载版本,可以接受一个 `std::initializer_list<char>` 参数,用于指定要搜索的字符集。
阅读全文