C++ string 字符串
本文将对string相关操作进行汇总
通用例子:string str = “wonker”;
一、字符串长度-str.size(),或str.length()
二者没有区别,size()是和STL通用algorithms保持一致,length()是兼容C语言strlen()的写法。
二、查找子串位置-使用find()函数
find()返回第一次找到子串的下标,返回类型 size_type,也可以直接用int接收。没找到就返回一个特殊标志string::npos。
查找某一给定位置后的子串的位置:str.find(“e”,2)。第二个参数是指定位置的下标。
所以查找字符串中所有符合要求的字符或子串,可以使用 while((position=str.find(flag,position))!=string::npos)。
其中,position是查找位置,初始值为0。flag是指定的字符或子串。每次更新查找位置,从前往后查找,找不到的时候就跳出循环。
三、截取子串-str.substr(position, n)
str.substr(position, n) 截取s中从position开始(包括0)的n个字符的子串,并返回。
str.substr(position) 截取s中从从position开始(包括0)到末尾的所有字符的子串,并返回。
四、替换子串-str.replace(position, n, s1)
str.replace(position, n, s1) 用s1替换str中从position开始(包括0)的n个字符的子串。
五、 插入删除操作-str.insert(position, s1);str.erase(str.begin()+i, str.end()-j);