c 字串中刪除指定的字元

2021-10-03 08:44:19 字數 793 閱讀 2061

string沒有直接的刪除指定字元的方法,可以利用find和erase或者substr實現。

string str;

string target;

int pos = str.

find

(target)

;n = target.

size()

;str = str.

erase

(pos,n)

;

若包含多個特定字元,則迴圈刪除即可。注意find的查詢成功返回的是指定元素的第乙個位置,失敗則返回-1。

而vector也有類似得find函式,舉例寫出來:

vector m;

m.push_back

("hello");

m.push_back

("hello2");

m.push_back

("hello3");

if(find

(m.begin()

, m.

end(),

"hello"

)== m.

end())

cout <<

"no"

<< endl;

else

cout <<

"yes"

<< endl;

vector中的find 函式的引數是三個,前兩個是始末的迭代器,第三個是指定字串。返回值仍是乙個迭代器,查詢成功則返回指定位置的迭代器,失敗則為end(),即字串後面乙個位置的迭代器。

刪除字串中的指定字元

本題要求實現乙個刪除字串中的指定字元的簡單函式。函式介面定義 void delchar char str,char c 其中char str是傳入的字串,c是待刪除的字元。函式delchar的功能是將字串str 現的所有c字元刪除。裁判測試程式樣例 include define maxn 20 vo...

字串刪除指定字元

一 演算法描述 給定乙個字串和模式字串,要求將出現在模式字串的字元在原字串中刪除。二 演算法思路 從題面理解,常規思路是遍歷原字串和模式字串,將原字串的每個字元和模式串的每個字元比較,如果比較相等,則不輸出,其時間複雜度為o m n m和n各自為字串和模式字串的長度 另一種高效的思路是以空間換時間,...

C string 字串刪除指定字元

今天遇到的情況時需要刪除時間戳裡的 只留下數字。想找比較簡單的實現方法,找了半天,發現的方案 用stl的string的 find 和 erase 首先,通過find找到需要刪除的字元 字串的位置 string str string target int pos str.find target 然後通...