使用substr截取字符串;
发布时间:2023-07-01 00:07:58
使用substr函数可以截取字符串中指定的子字符串。
substr函数的基本语法为:
substr(原字符串, 起始位置, 长度)
其中,原字符串是要进行截取的字符串;起始位置是指从哪个索引开始截取字符串(索引从0开始计数);长度是指要截取的子字符串的长度。
下面是一个示例,演示如何使用substr函数截取字符串中的子字符串:
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "Hello, World!";
string sub = str.substr(7, 5); // 从索引7开始截取长度为5的字符串
cout << "截取的子字符串是:" << sub << endl;
return 0;
}
输出结果为:
截取的子字符串是:World
在上面的示例中,原字符串是"Hello, World!",起始位置是7,长度是5,因此截取的子字符串就是"World"。
需要注意的是,substr函数的第二个参数起始位置是从0开始计数的,而不是从1开始计数的。
另外,当指定的起始位置超过了原字符串的长度,或者指定的长度超过了剩余字符串的长度时,substr函数也能正确处理,它会返回原字符串中剩余的部分。例如:
string str = "Hello, World!"; string sub1 = str.substr(7, 20); // 从索引7开始截取长度为20的字符串 string sub2 = str.substr(15); // 从索引15开始截取到字符串的末尾
在上面的例子中,sub1的值是"World!",因为从索引7开始到字符串末尾的长度不足20,所以只截取剩余的部分;sub2的值是"!",因为从索引15开始到字符串末尾只有一个字符。
希望对你有帮助!
