6.3 String的常用解法详解

在C语言中,使用char[]数组来存储字符串,但操作起来比较麻烦
C++中的STL加入了String类

#include <string>	注意和#inlucde <cstring>不同
using namespace std;

1、string的定义

string str;
string str = "abcdefg";

2、string中内容的访问

(1)、通过下标进行访问

for (int i = 0; i < str.size(); i++)
	cout<<str[i]<<" ";

(2)、通过迭代器访问

for (auto it = str.begin(); it != str.end(); it++)
	cout<<*it<<" ";

3、string常用函数实例解析

(1)、operator +=

str = str1 + str2可以直接将两个字符串进行拼接

(2)、compare operator

将两个字符串进行比较> < == >= <= !=
比较的规则是字典序

(3)、length()/size()

length()/size()返回字符串的长度

(4)、insert()

字符串的插入

1)、insert(pos, str)	
	在pos号位置上插入字符串str	
2)、insert(it, it2, it 3)
	it为待插入的位置,将字符串[it2, it3)中的内容插入到str中

(5)、erase()

删除字符串中的元素

1)、删除单个元素
	srt.erase(it)
2)、删除一个区间内的所有元素
	str.erase(first, last)	
	其中first为需要删除区间的起始迭代器,last为需要删除的区间的末尾迭代器的下一个地址
	str.erase(pos, length)
	删除str中第pos位置开始,长度为length的元素

(6)、clear()

用于清空string中的数据

(7)、substr()

返回子字符串

1)、str.substr(pos)
	返回pos位置开始到str末尾结束的字符串
2)、str.substr(pos, length)
返回pos位置开始,长度为length的字符串

(8)、string :: npos

string :: npos用以作为find函数失配时的返回值
str.find(s) != string :: npos说明在str中可以找到s的字符串

(9)、find()

str.find(s)
当s是str的字符串时,返回其在str中第一次出现的位置,否则返回string :: npos
str.find(s, pos) 从第pos号开始匹配s

(10)、replace()

str.replace(pos, len, s)
	把str的第pos位置开始长度为len的字符串替换为s
sre.replace(it1, it2, s)
	把str的迭代器[it1, it2)范围内的子串替换为s 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值