STL(string)

#使用
可以定义string数组

string s[100]

s[i]可以不是一个字符
可以直接比大小

sort(s.begin(),s.end());//训练赛时不会

也可以拼接

s1=aaaa;
s2=bbb;
s1+s2=aaabbb;

下面是一些常用的字符串函数方法的总结:
##1.定义

当定义string s(“12345”)时;
string s(“12345”,0,2)实际为"123";
string s(5,‘1’)实际为"11111";

##2. 插入操作

1.s.push_back(): 在末尾插入字符。
例如:s.push_back(‘a’) 在末尾插入一个字符 ‘a’。
2.s.insert(pos, element): 在指定位置插入字符。
例如:s.insert(s.begin(), ‘1’) 在第一个位置插入字符 ‘1’。
3.s.append(str): 在字符串结尾添加另一个字符串。
例如:s.append(“abc”) 在字符串末尾添加字符串 “abc”。

##3. 删除操作

1.erase(iterator p): 删除字符串中指定位置的字符。
2.erase(iterator first, iterator last): 删除字符串中指定范围内的字符。
3.erase(pos, len): 删除字符串中从指定索引位置开始的指定长度的字符。
4.clear(): 删除字符串中所有字符。

##4. 字符替换

1.s.replace(pos, n, str): 将指定位置开始的 n 个字符替换为另一个字符串。
2.s.replace(pos, n, n1, c): 将指定位置开始的 n 个字符替换为 n1 个字符。
3.s.replace(it1, it2, str): 将指定迭代器范围内的字符替换为另一个字符串。

##5. 大小写转换

通过字符遍历实现:
1.tolower(s[i]): 将字符转换为小写。
2.toupper(s[i]): 将字符转换为大写。
通过 STL 的 transform 算法配合 tolower 和 toupper 实现:

string s;

  1. transform(s.begin(), s.end(), s.begin(), ::tolower); // 转换为小写
  2. transform(s.begin(), s.end(), s.begin(), ::toupper); // 转换为大写

##6. 分割

1.s.substr(pos, n): 截取从指定索引开始的指定长度的子字符串。

##7. 查找

1.s.find(str, pos): 在当前字符串的指定索引位置开始查找子串,返回找到的位置索引,-1 表示查找不到子串。
2.s.find(c, pos): 在当前字符串的指定索引位置开始查找字符,返回找到的位置索引,-1 表示查找不到字符。
3.s.rfind(str, pos): 在当前字符串的指定索引位置开始反向查找子串,返回找到的位置索引,-1 表示查找不到子串。
4.s.rfind(c, pos): 在当前字符串的指定索引位置开始反向查找字符,返回找到的位置索引,-1 表示查找不到字符。
5.s.find_first_of(str, pos): 在当前字符串的指定索引位置开始查找子串中的字符,返回找到的位置索引,-1 表示查找不到字符。
6.s.find_first_not_of(str, pos): 在当前字符串的指定索引位置开始查找第一个不在子串中的字符,返回找到的位置索引,-1 表示查找不到字符。
7.s.find_last_of(str, pos): 在当前字符串的指定索引位置开始查找子串中的最后一个字符,返回找到的位置索引,-1 表示查找不到字符。
8.s.find_last_not_of(str, pos): 在当前字符串的指定索引位置开始查找最后一个不在子串中的字符,返回找到的位置索引,-1 表示查找不到子串。

  • 14
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值