C++ string常用函数
给定字符串 s = “hello world !”
index |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
char |
h |
e |
l |
l |
o |
|
w |
o |
r |
l |
d |
|
! |
常用函数
substr(int startpos, int length)
startpos : 需要截取的子字符串在原字符串中的起点
length : 需要截取的字符串的长度
例如:s.substr(3,5) = “lo wo”
replace(int startpos, int length, const char * str2)
startpos : 原字符串中需要替换的子串的起点
length : 原字符串中需要替换的子串的长度
str2 : 用来替换原字符串中子串的替代字符串
例如:str2 = “char”;
s.replace(3, str2.size(), str2) = “helcharorld !”
erase(int startpos, int length)
startpos : 原字符串中需要删除的子串的起点
length : 原字符串中需要删除的子串的长度
例如:s.erase(6,3) = “hello ld !”
find(const string & str, int startpos)
find(const char * s, int startpos)
str 或 s :是需要查找的子串,str是string类型,s是char * 类型
startpos : 查找的起点
如果查找成功则返回该子串首次出现的起点的下标
例如s.find(“llo”, 0) = 2, 即“l”的下标为2
如果查找失败则返回string::npos
同样rfind也是查找函数,只不过是从末尾开始查找
reverse(s.begin(), s.end())
该函数是将字符串原地翻转,即将s翻转后仍然赋值给s
例如reverse(s.begin(), s.end())之后,s =“! dlrow olleh”
注:reverse函数需要引入头文件 #include < algorithm >
s1.assign(s.rbegin(), s.rend())
该函数是将字符串s翻转后赋值给s1,而s本身不变
例如是s1.assign(s.rbegin(), s.rend()) = “! dlrow olleh”,而s = “hello world !”
后面会不断更新,敬请关注!