C++ string 截取字符串substring函数调用截取指定内容方法分享
在C++中,有几种方法可以截取字符串。下面是一些常用的方法:
- 使用
substr()
函数:
“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()
函数的组合:
“find()函数可以用于查找子字符串在原始字符串中的位置,然后可以使用
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
类和相关的函数。 - 使用