1. 程式人生 > >C++字串操作

C++字串操作

1 連線字串 

可以使用+連線兩個字串,值得注意的是 不能連線兩個字面量,例如string s = "I love" + "China"是不行的 , string s1 = "I love"  String s = s1 + "China"; 這樣是可以的。

2 訪問字串中的字元 

使用str[i] 得到第i個字元  從0開始下標

3 訪問子字串

str.substr(start_index, length)   

length可以忽略 , 也可以越界, 結果都是從start_index,長度為length, start_index>str長度會異常

4 比較字串

原理:兩個字串自左向右逐個字元相比(按ASCII值大小相比較),直到出現不同的字元或遇’\0’為止。“Ab” > "A"

方法:1通過> < == >= <= 5個符號比較   2 str1.compare(str2)  如果str1>str2 返回1 等於 返回0 小於返回-1 完整str1.compare(s, len,str2, str2.start, str2.len)

5 搜尋字串

sen.find(str, start_index, len) start_index是sen開始搜尋的索引, len是str中需要搜尋的長度  沒有找到返回string::npos

例子:句子中搜索word出現次數 for(index = 0; (index = sen.find(str, index)) != string::npos;index+= word.length(), count++){;}

   count就是結果

sen.find_first_of( str)  sen.find_first_not_of()查詢字串(集合)中的任意一個字元 

逆向搜尋 rfind

6 修改字串

1 插入 sen.insert(插入位置,word, s, len) 吧word s開始持續len的插入到指定索引

2 替換 sen.replace(s, len,  word)

3 刪除 sen.erase(s, len)