C++ 字符串(string)常用操作详解

目录

1.查找(find)

2.插入

3.截取(substr)

4.删除(erase)

5.替换(replace)

6.字符串和数组转换

1.查找(find)

查找并返回s在str中第一次出现的位置,位置从0开始

查找并返回s在str中第一次出现的位置,位置从pos开始

从str末尾查找并返回s在str中第一次出现的位置(rfind)

找到s在str中第一次出现和最后一次出现的位置(find_first_of 和 find_last_of)

int main() {
	string str = "i love china. china love me";
 	string s = "love";
 	cout << str.find(s); 
 	int pos=2;
 	cout << str.find(s,pos);
 	cout << str.rfind(s);
 	cout << str.find_first_of(s)<< str.find_last_of(s);
}

2.插入

将s所指向的字符串插入在str中位置x之前,改变本串(insert)

将字符串s添加到str尾部,改变本串(append)

int main() {
	string str = "i love . china love me";
	string s = "china";
	int x=7;
	cout << str.insert(x, s) << endl; 
	cout << str.append(s) << endl; 
}

3.截取(substr)

取子串,取str中位置pos开始的n个字符

int main() {
	string str = "i love china. china love me";
	int pos=2,n=22;
	cout << str.substr(2, 22) << endl; // love china. china love
}

4.删除(erase)

删除str中pos位置及之后的所有字符,改变本串

删除str中pos位置及之后的共n个字符,改变本串

int main() {
	string str1 = "i love china. china love me";
	int pos=12;
	cout << str1.erase(12) << endl; 
	string str2 = "i love china. china love me";
	int pos=7,n=18;
	cout << str2.erase(7, 18) << endl; 
}

5.替换(replace)

用s替换str中从pos开始(包括0)的n个字符的子串

int main() {
	string str = "i love . china love me";
	string s = "china";
	int pos=3,n=7;
	cout << str.replace(pos,n,s);
}

6.字符串和数组转换

int main()
{
//字符串转数组 
	string str;
	cin>>str;
  	int a[500];
 	for(int i=0;i<str.length();i++){
		a[i]=str[i]-'0';
		cout<<a[i]<<" ";
	}
//数字转字符串 
    int n;
    cin>>n;
	string s;
	s=to_string(n);
} 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值