string中find函数的使用方法
时间: 2024-05-15 21:14:23 浏览: 113
在 C++ 中,`string` 类型的 `find` 函数可以用来查找一个子串在字符串中出现的位置。它的使用方法如下:
```c++
size_t find(const string& str, size_t pos = 0) const noexcept;
```
其中,`str` 是要查找的子串,`pos` 是查找的起始位置(默认为 0),函数会返回子串在字符串中第一次出现的位置,如果找不到则返回 `string::npos`。
示例代码如下:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "hello world";
string sub = "world";
size_t pos = str.find(sub);
if (pos != string::npos) {
cout << "子串在字符串中的位置:" << pos << endl;
} else {
cout << "子串未找到" << endl;
}
return 0;
}
```
输出结果为:
```
子串在字符串中的位置:6
```
相关问题
string中replace函数的使用方法
在C++中,string类中的replace函数可以用于替换字符串中的某个子串。其使用方法如下:
```
string str = "Hello, World!";
string sub_str = "World";
string new_str = "Universe";
str.replace(str.find(sub_str), sub_str.length(), new_str);
// 输出结果为:Hello, Universe!
cout << str << endl;
```
在以上示例中,我们首先定义了一个字符串`str`,其中包含了子串`World`。我们要将这个子串替换成`Universe`。我们使用了`find`函数找到子串在字符串中的位置,并将`replace`函数的第一个参数设为这个位置。第二个参数是要替换的子串的长度,我们使用了`length`函数获取其长度。第三个参数是新的字符串`Universe`。最后我们输出替换后的结果。
需要注意的是:如果字符串中有多个相同的子串需要替换,`replace`函数只会替换第一次出现的子串。如果需要替换所有相同的子串,需要使用循环语句结合`find`和`replace`函数。
string中的find函数
string中的find函数用于查找一个子字符串在原字符串中第一次出现的位置。它的语法如下:
```
size_t find (const string& str, size_t pos = 0) const noexcept;
size_t find (const char* s, size_t pos = 0) const;
size_t find (const char* s, size_t pos, size_t n) const;
size_t find (char c, size_t pos = 0) const noexcept;
```
其中,第一个参数可以是一个字符串或者是一个字符,第二个参数指定了查找的起始位置,默认是从字符串的开头开始查找。如果找到了指定的子字符串或字符,返回它在原字符串中的位置,否则返回`string::npos`。注意,`string::npos`是一个常量,它的值为-1,表示没有找到指定的子字符串或字符。
阅读全文