持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第26天,点击查看活动详情
初始化定义字符串的多种样式:
string str:生成一个空的字符串(str==“”)
string str(str):将已有的字符串复制出来 string str(“ahhhhh”) str是“ahhhhh”的复制品,也是给str赋值为“ahhhhh”
string str(str, str_begin, str_len):对复制的字符串进行截取 将str从str_begin的位置开始截取,直到取够str_len长度为止。
string str(str, char_len):和上面的使用方法类似,区别于本方法是直接从头开始取,直到指定长度为止
string s(str, index): 这个函数好像看似与上一个函数完全相同,但是他的内部其实走的不一样的流程,这个函数是指把str字符串从下标为index的位置开始复制,直到结束。
这两个方法在使用上不同:
第一个:string str(“ahhhh”,3) 结果 str = “ahh”
第二个 string str(data,4)(就当data = “ahhhhhh”) 结果 str = “hhh”
string str(num, char):这是一种较为特殊的使用方法,他会把char复制num遍形成一个新的字符串。
字符串的比较:
1.compare()
Compare有多种重写。
最常用的一种方法 就是直接 str. Compare(str2) 他直接比较 这里的比较是从第一位开始,两者开始的位置都是第一位,在比较过程中如果有一方大会直接结束,返回返回值(如果str大于str2,会返回大于0的值,相等返回0,小于返回负数)
Compare(begin,end,str) str.compare(2,4,str2) 他代表将str的2到4位与str2进行比较 str2的起始位置还是第一位 str.compare(2,4,str2,2,4) 这样写是对str2的起始和结束位置进行限制。
2.strcmp()
他的返回值问题与compare的返回值一样的逻辑。
Strcmp(str,str2) 这样直接把str和str2进行对比 相当于str. Compare(str2)。
3.最常用的方法:
str == str2
字符串的替换
String Str(“12345678”);
Str.replace(3, 2, "aa"); str->”123aa678” 这种方式代表从下标为3的位置替换长度2的字符串
Str.replace(s1.begin(), s1.begin() + 5, "haha"); 他代表从begin到end的位置替换为haha