std::string 查找子字符串
时间: 2023-11-16 15:06:39 浏览: 242
可以使用 std::string 的 find 函数来查找子字符串,示例代码如下:
```cpp
std::string str = "hello world";
std::string subStr = "world";
size_t pos = str.find(subStr);
if (pos != std::string::npos) {
std::cout << "子字符串在位置 " << pos << " 处" << std::endl;
} else {
std::cout << "未找到子字符串" << std::endl;
}
```
相关问题
std::string 查找是否存在子字符串
在 C++ 的 `<string>` 库中,你可以使用 `std::string` 类的成员函数 `find()` 来查找子字符串的存在。这个函数接受一个目标子串作为参数,并返回子串第一次出现在原字符串中的位置(从0开始计数),如果没有找到,则返回 `npos`(常量,通常表示 `size_t(-1)`)。
下面是一个基本的例子:
```cpp
#include <string>
std::string main_str = "Hello, world!";
std::string substr_to_find = "world";
size_t pos = main_str.find(substr_to_find);
if (pos != std::string::npos) {
std::cout << "Substring found at position " << pos << std::endl;
} else {
std::cout << "Substring not found." << std::endl;
}
```
在这个例子中,如果找到了子串 "world",程序会输出其位置;如果没有找到,则输出 "Substring not found."。
std::string 查找字符串
您可以使用C++中的`std::string::find()`函数来查找一个字符串中是否包含另一个字符串。
例如,如果您想要查找字符串`str`是否包含子字符串`subStr`,您可以使用以下代码:
```cpp
std::string str = "Hello World";
std::string subStr = "World";
if (str.find(subStr) != std::string::npos) {
std::cout << "Substring found in the string!" << std::endl;
} else {
std::cout << "Substring not found in the string." << std::endl;
}
```
在上述代码中,`std::string::find()`函数返回子字符串`subStr`在`str`中的位置。如果子字符串不在字符串中,则返回`std::string::npos`。因此,我们可以检查返回值是否等于`std::string::npos`来判断是否找到了子字符串。
阅读全文