C++ string常用截取字符串
在C++中,有几种方法可以截取字符串。下面是一些常用的方法:
substr()
函数:#include <iostream>
#include <string>
int main() {
std::string str = "Hello, World!";
std::string sub = str.substr(7, 5); // 从索引7开始提取长度为5的子字符串
std::cout << sub << std::endl; // 输出 "World"
return 0;
}
```
在上面的示例中,`str.substr(7, 5)`提取了从索引7开始的长度为5的子字符串。
[]
:[]
来访问单个字符。你可以通过循环和下标运算符来提取特定范围内的字符,以构造子字符串。示例代码如下:
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, World!";
std::string sub;
for (int i = 7; i < 12; ++i) {
sub += str[i]; // 将索引7到11的字符添加到子字符串
}
std::cout << sub << std::endl; // 输出 "World"
return 0;
}
```
在上面的示例中,通过循环遍历索引7到11之间的字符,并将它们逐个添加到子字符串`sub`中。
find()
和substr()
函数的组合:函数可以用于查找子字符串在原始字符串中的位置,然后可以使用
substr()`函数来提取特定范围内的子字符串。示例代码如下:
#include <iostream>
#include <string>
int main() {
std::string str = "Hello, World!";
std::size_t startPos = str.find("World"); // 查找子字符串的起始位置
std::string sub = str.substr(startPos); // 从起始位置开始提取子字符串
std::cout << sub << std::endl; // 输出 "World!"
return 0;
}
```
在上面的示例中,`str.find("World")`返回子字符串"World"在原始字符串中的起始位置。然后,使用`substr()`函数从该位置开始提取子字符串。
这些都是常见的字符串截取方法。你可以根据自己的需求选择适合的方法。记得包含头文件<string>
以使用string
类和相关的函数。