2565: 字符串的方法介绍
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:15
解决:0
题目描述
#include<bits/stdc++.h> using namespace std; void introduce() { //字符串讲解内容 /* ★★★【字符串其它常用方法】★★★ 字符串7个常用方法: ①.size(): 返回字符串长度 ②.empty(): 检测字符串是否为空 ③tolower(): 返回小写字符 ④toupper(): 返回大写字符 ⑤isdigit(): 检测是否是数字字符 ⑥getline(): 读入一行的字符串(包括空格) ⑦stringstream: 字符串流类型,可以快速去掉空格或者类型转换
isupper(): 测试字符(char类型)是否是大写字母
islower(): 测试字符(char类型)是否是小写字母 */ } int main(){ //.size(): 返回字符串长度 string s="abcd"; cout<<"长度s.size():"<<s.size()<<endl; //.empty(): 检测字符串是否为空 s=""; if(s.empty()){ cout<<"检测到字符串是空的"<<endl; } //tolower(): 返回小写字符 s="ABCD"; cout<<"tolower():"<<char(tolower(s[0]))<<endl; //toupper(): 返回大写字符 s="abcd"; cout<<"toupper():"<<char(toupper(s[0]))<<endl; //isdigit(): 检测是否是数字字符 s="1A2B3C"; if(isdigit(s[0])){ cout<<"检测到数字字符。"<<endl; } //getline(): 读入一行的字符串(包括空格) cout<<"请输入一行带有空格的字符:"<<endl; getline(cin,s); cout<<"读入带有空格的字符,内容如下:"<<endl; cout<<s<<endl; //拓展(getline用逗号隔开) cout<<"请输入一行带有一个【逗号】的字符:"<<endl; string t; getline(cin,s,','); getline(cin,t); cout<<"读入一个带有逗号的字符,内容如下:"<<endl; cout<<s<<endl; cout<<"读入另一个带有逗号的字符,内容如下:"<<endl; cout<<t<<endl; //stringstream: 字符串流类型,可以快速去掉空格或者类型转换 cout<<"请输入一行带有空格的字符:"<<endl; getline(cin,t); //ab c d e f stringstream ss; ss<<t; cout<<"streamstring快速分割字符串,内容如下:"<<endl; string p; while(ss>>p){ cout<<p<<endl; } return 0; }
#include<bits/stdc++.h> using namespace std; void introduce() { //字符串讲解内容 /* ★★★【字符串7个基本方法】★★★ 字符串7个基本方法: ①查找find :1个参数(有返回值):查找一个字符/字符串 ②插入insert :2个参数:在什么位置,插入一个字符串 ③追加append : 1个参数:在字符串的尾端追加字符串 ④替换replace : 3个参数:在什么位置,占用多大的空间,替换对应的字符串 ⑤删除erase : 2个参数: 在什么位置,删除几个字符。 ⑥反转reverse : 2个参数:什么位置开始,到什么位置结束。 ⑦子串substr : 1/2个参数(有返回值): 什么位置开始,长度可选。 */ } int main(){ //查找find string s1="abcdef"; int i=s1.find('c'); //【找一个字符】 cout<<"找到了,位置是:"<<i<<endl;
int i=s1.find('c',k); //从第k个位置开始找
i=s1.find("de"); //【找一个字符串】 cout<<"找到了,位置是:"<<i<<endl; //拓展 s1="abcdeaf"; i=s1.rfind('a'); //从右边开始查找,下标还是左边读起,第5个是a cout<<"右边开始查找:"<<i<<endl; //插入insert string s2="123"; s1.insert(3,s2); //【在第3个位置插入字符串】 cout<<"插入后的字符串s2:"<<s1<<endl; char c='B'; // string s="ABCDEFG"; -> s[1]='B'; string t=" "; t[0]=c; s1.insert(3,t); cout<<"插入后的字符串t:"<<s1<<endl; //追加append s1="abcdef"; string s3="123"; s1.append(s3); //在末尾追加字符串 cout<<"追加后的s1:"<<s1<<endl; //特别的 s1.append(5,'!'); cout<<"追加后的s1:"<<s1<<endl; //替换replace s1="abcdef"; s2="123"; s1.replace(2,1,s2); //从位置开始2,占用1个空间,替换为字符串s2 cout<<"替换后的s1:"<<s1<<endl; //删除erase s1="abcdef"; s1.erase(3,1); //从位置3开始,删除1个字符 cout<<"删除后的s1:"<<s1<<endl; //反转reverse s1="abcdef"; reverse(s1.begin(),s1.end()); //从头到尾反转字符串s1 cout<<"反转后的s1:"<<s1<<endl; s1="abcdef"; reverse(s1.begin()+1,s1.end()-1); //从头-1到尾-1反转字符串s1 cout<<"反转后的s1:"<<s1<<endl; //子串substr s1="abcdefg"; s2=s1.substr(2); //从位置2开始截取字符串 cout<<"子串后的s2:"<<s2<<endl; s3=s1.substr(2,4); //从位置2开始,截取长度为4的字符串 cout<<"子串后的s3:"<<s3<<endl; return 0; }