在C++中,std :: substr()是用于字符串处理的预定义函数。 字符串.h是字符串函数所需的头文件。
此函数将两个值pos和len作为参数,并返回一个新构造的字符串对象,其值初始化为该对象的子字符串的副本。从pos开始复制字符串,直到pos + len表示[pos,pos + len)为止。
要点:
- 第一个字符的索引为0(不是1)。
- 如果pos等于字符串长度,则该函数返回一个空字符串。
- 如果pos大于字符串长度,则抛出out_of_range。如果发生这种情况,则字符串中没有任何变化。
- 如果对于所请求的子字符串len大于字符串的大小,则返回的子字符串为[pos,size()) 。
句法:
string substr (size_t pos, size_t len) const;
Parameters:
pos: Position of the first character to be copied.
len: Length of the sub-string.
size_t: It is an unsigned integral type.
Return value: It returns a string object.
// CPP program to illustrate substr()
#include
#include
using namespace std;
int main()
{
// Take any string
string s1 = "Geeks";
// Copy three characters of s1 (starting
// from position 1)
string r = s1.substr(1, 3);
// prints the result
cout << "String is: " << r;
return 0;
}
输出:
String is: eek
应用范围:
- 如何获得一个字符后的子字符串?
在这种情况下,将给出一个字符串和一个字符,您必须先打印子字符串,然后再打印给定字符。
提取字符串“ dog:cat”中“:”之后的所有内容。// CPP program to illustrate substr() #include
#include using namespace std; int main() { // Take any string string s = "dog:cat"; // Find position of ':' using find() int pos = s.find(":"); // Copy substring after pos string sub = s.substr(pos + 1); // prints the result cout << "String is: " << sub; return 0; } 输出:
String is: cat
- 打印给定字符串的所有子字符串
- 代表数字的字符串的所有子字符串的总和
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。