string 成员函数

string常用成员函数:

  • str.assign("ABC")——清空字符串,并设置为 "ABC"
  • str.assign("ABC",2)——清空字符串,并设置为"AB",保留两个字符
  • str.assign("ABC",1,1)——清空字符串,设置为 "ABC" 中的从 位置1 开始,保留 1个 字符
  • str.assign(5,'A')——清空字符串,然后字符串设置为 5个 'A'

  • str.length()——求字符串长度
  • str.size()——和 length() 一样
  • str.capacity()——获取容量,包含了不用增加内存就能使用的字符数
  • str.resize(10)——设置当前 str 的大小为10,若大小大于当前串的长度,\0 来填充
  • str.resize(10,char c)——设置当前 str 的大小为10,若大小大于当前串的长度,字符c 来填充
  • str.reserve(10)——设置str的容量 10,不会填充数据
  • str.swap(str1)——交换 str1 和 str 的字符串
  • str.push_back('A')——在str末尾添加一个字符  'A' ,参数必须是字符形式
  • str.append("ABC")——在str末尾添加一个字符串 "ABC",参数必须是字符串形式

insert函数方法: 

  • str.insert(2,3,'A')——在str下标为2的位置添加 3个 字符'A'
  • str.insert(2,"ABC")——在str下标为2的位置添加 字符串 "ABC"
  • str.insert(2,"ABC",1)——在str下标为2的位置添加 字符串 "ABC" 中 1个 字符
  • str.insert(2,"ABC",1,1)——在str下标为2的位置添加 字符串 "ABC" 中从位置 1 开始的 1 个字符

  • str.erase(2)——删除 下标2 的位置开始,之后的全删除
  • str.erase(2,1)——删除 下标2 的位置开始,之后的 1个 删除
  • str.clear()——删除 str 所有
  • str.replace(2,4,"abcd")——从 下标2 的位置,替换 4个字节 ,为"abcd"
  • str.empty()——判空

反转相关:

(位于头文件<algorithm>)

  • reverse(str.begin(),str.end())——str的开始 到 结束字符反转 

reverse(s4.begin,s4.end);        结果:s4:ABCD   ->    DCBA

 

查找相关:

查找成功返回位置 ,查找失败,返回-1

find函数:从头查找

  • str.find('A')——查找 'A'
  • str.find("ABC")——查找 "ABC"

int n=s4.find("ABC");   s4:ABCD    ->   n = 0

  • str.find('B',1)——从 位置1 处,查找'B'
  • str.find("ABC",1,2)——从 位置1 处,开始查找 'ABC' 的前 2个 字符

rfind函数:从尾部查找

  • str.rfind('A')——查找 'A'
  • str.rfind("ABC")——查找 "ABC"

int n=s4.rfind("ABC");   s4:AAAABCD    ->   n = 3

  • str.rfind('B',1)——从 位置1 处,向前查找'B'
  • str.rfind("ABC",1,2)——从 位置1 处,开始向前查找 'ABC' 的前 2个 字符

find_first_of()函数:

查找是否包含有子串中任何一个字符

  • str.find_first_of("abBc")——查找 "abBc" 和str 相等的任何字符,"abBc" 中有就返回位置
  • str.find_first_of("abBc",1)——查找 "abBc" 和str 相等的任何字符,从 位置1 处,开始查找"abBc" 中的字符,"abBc" 中有的就返回位置
  • str.find_first_of("abBc",1,2)——查找 "abBc" 和str 相等的任何字符,从 位置1 处,开始查找"abBc" 的前 2个 字符,"abBc" 中有的就返回位置

find_last_of()函数:

find_first_not_of ()末尾查找, 从末尾处开始,向前查找是否包含有子串中任何一个字符

  • str.find_last_of("abBc")——查找 "abBc" 和str 相等的任何字符,向前查找,"abBc" 中有的返回位置
  • str.find_last_of("abBc",1)——查找 "abBc" 和str 相等的任何字符,从 位置1 处,开始向前查找"abBc" 中的字符,"abBc" 中有的就返回位置
  • str.find_last_of("abBc",10,2)——查找 "abBc" 和str 相等的任何字符,从 位置10 处,开始向前查找"abBc" 的前 2个 字符,"abBc" 中有的就返回位置

拷贝相关的:

  • str1=str.substr(2)——提取子串,提取出 str 的 下标为2 到末尾,给 str1
  • str1=str.substr(2,3)——提取子串,提取出 str 的 下标为2 开始,提取三个字节,给 str1
  • const char* s1=str.data()——将string类转为字符串数组,返回给s1

char* s=new char[10]

  • str.copy(s,count,pos)——将 str 里的 pos 位置开始,拷贝 count个 字符,存到 s 里
  • str.strcpy()

 

compare函数:(str原串)与(str新串)ASCII值相等返回0;(str原串)小于(str新串)返回-1;(str原串)大于(str新串)返回1。

示例对象:string str(“abcd”)

  • str.compare(“abcd”)——返回0。
  • str.compare(“abce”)——返回-1。
  • str.compare(“abcc”)——返回1。
  • str.compare(0,2,str,2,2)——用str的 下标0 开始的 2个字符 和 str的 下标2 开始的 2个 字符比较——就是用 "ab" 和 "cd”" 比较,结果返回-1。
  • str.compare(1,2,”bcx”,2)——用str的 下标1 开始的 2个字符 和 "bcx"的 前 2个 字符比较——就是用 "bc" 和 "bc”" 比较,返回0。
posted @ 2020-10-10 21:41  雪雪碧碧  阅读(245)  评论(0)    收藏  举报