C 字串處理系列之 裁剪,替換,移除

2021-06-08 23:26:51 字數 1249 閱讀 1536

問題1:我想刪除字串中指定的字元。

解答:技巧性的方法,用replace()。

例如:string str = " how are you !"。現在我們刪除它中間的空格,則str = str.replace(" ","")。懂了吧,把要刪除的字元替換成""就ok了!

問題2:我想刪除字串開頭和結尾的空格。

解答:用trim()系列。trim(char a)刪除字串開頭和結尾的字元a,trimend(char a)刪除結尾的,trimstart(char a )刪除開頭的。

若不指定a,即trim(),trimend(),trimstart()則表示刪除空格。

問題3:我想移除某段字串。

解答:用remove(int n1,int n2),其中n1指索引位置,n2指長度。

例如:string str = "how are you !",str1 =str.remove(1,2),則str1 ="h are you ! "。

問題4:我想刪除字串中一系列的字元,難道要用一系列的replace或者用一系列的trim嗎?

解答:1.如果要移除字串開頭或者結尾處的一系列字元,那麼可以使用到tochararray(),因為

trim()系列提供了兩種方法,trim(char a),trim(char )。

例如:string str = "how are you !",現在我想刪除str開頭和結尾的所有'h','!','u','a'那麼我可以這樣寫

str1 =str.trim("h!au".tochararray(),"");

2.如果要刪除字串中一系列的字元,無論這些字元在開頭,結尾,還是在中間,都一律刪除,用個for迴圈就行了。

還是上例。我們這樣寫,string c ="h!ua";

for(int i =0;i

str1 = str;

這裡要注意了,replace()提供了兩種方法,replace(char ,char)replace(string,string),引數一定要是同種型別,不然會報錯!

這也就是為什麼上面會用乙個tostring()!

注:arraylist中提供的是count屬性,string中提供的是count()方法,我操啊!另外,不能用空字元,只能用空字串。

C 字串處理 擷取 替換 移除

問題1 我想刪除字串中指定的字元。解答 技巧性的方法,用replace 例如 string str how are you 現在我們刪除它中間的空格,則 str str.replace 懂了吧,把要刪除的字元替換成 就 ok了!問題2 我想刪除字串開頭和結尾的空格。解答 用trim 系列。trim ...

單詞替換(字串處理)

輸入乙個字串,以回車結束 字串長度 100 該字串由若干個單詞組成,單詞之間用乙個空格隔開,所有單詞區分大小寫。現需要將其中的某個單詞替換成另乙個單詞,並輸出替換之後的字串。多組資料。每組資料輸入包括3行,第1行是包含多個單詞的字串 s,第2行是待替換的單詞a,長度 100 第3行是a將被替換的單詞...

C 字串替換

編譯執行平台 vs2017 win32 debug 以下 作為平時 庫的儲備,僅供各位參考 brief 替換指定的子串 param src 原字串 target 待被替換的子串 subs 替換的子串 string replaceall const char src,const string targ...