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;
}