2565: 字符串的方法介绍

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:14 解决: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;
}

来源/分类