C++string常用函数总结

1.string为空时写法

if(string.size()==0)

2.常用函数

string类提供了一系列针对字符串的操作,比如:

  • 1.size()和length()--返回string对象的字符个数,他们执行效果相同
  • 2.push_back() --尾插一个字符
  •  3.insert()-- 插入字符,insert(pos,char):在制定的位置pos前插入字符char
  • 4.append()--拼接字符串,在字符串的末尾添加字符
  • 5.sort(s.begin(),s.end())-- string的排序
  • 6.find() -- 在字符串中查找字符串
  • 7.replace() -- 替换字符串 ,string &replace(int p, int n,const char *s); //删除从p开始的n个字符,然后在p处插入串s
  • 8.substr() -- 返回某个子字符串,string substr(int pos = 0,int n = npos) const; //返回pos开始的n个字符组成的字符串
  • 9.string &erase(int p, int n);//删除p开始的n个字符,返回修改后的字符串
  • 10.void swap(string &s2); //交换当前字符串与s2的值
  • 11.删除

erase函数的原型如下:

(1)string& erase( size_t pos = 0m size_t n = npos);

(2)interator erase( iterator position);

(3)iterator erase( iterator first, iterator last);

有三种用法:

(1)erase( pos, n); 删除从pos开始的n个字符,例如 str.erase(0,n);删除0位置开始的n个字符(循环左移时用到)

(2)erase( position); 删除position处的一个字符(position是个string类型的迭代器)

(3)erase(first,last);删除从first到last之间的字符,(first和last都是迭代器)

例如:

string s1 = "123456789";
// s1.erase(s1.begin()+1);              //13456789,删除2
// s1.erase(s1.begin()+1,s1.end()-2);   // 189,删除2到7
s1.erase(1,6);                       // 189,删除1开始的6个字符,即删除1-6
  • 12.分割截取s.substr(pos, n)

包含s中从pos开始的n个字符的拷贝(pos的默认值是0,n的默认值是s.size() - pos,即不加参数会默认拷贝整个s)

string s("12345asdf");
string a = s.substr(0,5);     //获得字符串s中从第0位开始的长度为5的字符串

3.剑指offer例题:

左旋字符串,输入:S=”abcXYZdef”,循环左移3位。输出:“XYZdefabc”

string LeftRotateString(string str, int n) {
        str+=str.substr(0,n);
        str.erase(0,n);
        return str;
    }

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值