substr()是用于字符串处理的预定义函数。string.h是字符串函数所需的头文件。
此函数将两个值pos和len作为参数,并返回一个新构造的字符串对象,其值初始化为该对象的子字符串的副本。从pos开始复制字符串,直到pos + len表示[pos,pos + len)为止。
重要事项:
第一个字符的索引为0(不是1)。
如果pos等于字符串长度,则该函数返回一个空字符串。
1、如何在字符后获取子字符串?
在此字符串和字符被给定,并且您必须打印子字符串,后跟给定的字符。
提取字符串“ dog:cat”中“:”之后的所有内容。
#include <iostream>
#include <algorithm>
#include <string.h>
using namespace std;
int main(){
string str="dog:cat";
int pos=str.find(":");
string sub=str.substr(pos+1);
cout<<sub<<endl;
return 0;
}
2、程序打印给定字符串的所有子字符串(代码可以自己敲出来运行一下)
方法1:给定一个字符串作为输入。
我们需要编写一个程序,以打印该给定字符串的所有非空子字符串。
#include <iostream>
#include <algorithm>
#include <string.h>
using namespace std;
//s.substr(i,len)从字符串s中的索引i开始打印长度为len的子字符串。
void Substring(string s,int len){
for(int i=0;i<len;i++)
{
for(int j=1;j<=len;j++)
{
if(i+j>len) break;
string sub=s.substr(i,j);
cout<<sub<<' ';
}
cout<<endl;
}
}
int main(){
string str="abcd";
Substring(str,str.length());
return 0;
}