find_first_of()
时间: 2024-09-11 20:15:02 浏览: 51
`find_first_of()` 是 C++ 标准库中的一个函数,它用于在一个字符串中查找另一个字符串中出现的所有字符中的第一个出现的位置。
函数的语法如下:
```cpp
std::string find_first_of(const std::string& str, const std::string& value);
```
其中,`str` 是源字符串,`value` 是要查找的字符集合。
该函数返回源字符串中第一次出现指定字符集合中的字符的位置,如果未找到任何匹配的字符,则返回 `std::string::npos`。
例如,假设我们有一个字符串 `s1`,我们想要找到字符串 `s2` 中所有字符在 `s1` 中首次出现的位置:
```cpp
std::string s1 = "Hello, world!";
std::string s2 = "o, e";
size_t pos = s1.find_first_of(s2);
if (pos != std::string::npos) {
std::cout << "Found character '" << s2[pos] << "' at position " << pos << " in s1.\n";
} else {
std::cout << "No match found.\n";
}
```
在这个例子中,输出将是:`Found character 'o' at position 6 in s1.`,因为字符 'o' 在字符串 `s1` 中首次出现的位置是第 6 个位置。
请注意,`find_first_of()` 函数是区分大小写的,也就是说,它会区分大小写字母之间的区别。如果你想要执行不区分大小写的搜索,可以使用 `std::trigrams` 或其他相关函数。
阅读全文