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)