C 中對字串的各種相關處理函式

2021-09-27 03:26:27 字數 2590 閱讀 5103

一、

find()函式:查詢乙個字串是否包含特定另乙個字串

find()函式帶有乙個引數,兩個引數和三個引數的情況。

find函式帶乙個引數,就是直接查詢;

find函式帶有兩個引數,就是在被查詢的字串的某個特定位置開始查詢;

find函式帶有三個引數,就是在被查詢的字串的某個特定位置開始查詢:查詢字串的前n個字元組成的字串!

————————————————

#include #include using namespace std;

int main(){

string s1="the first step is as good as half over.";

string s2 = "step";

//返回查詢到的字元(串)s2在s1中的首位址

int found = s1.find(s2);

cout《執行結果:

1010-1

1015

二、

find_first_of()函式:查詢字元第一次出現在被查詢字串中的位置

函式find_first_of() 查詢在字串中第1個出現的字元c,而函式find_last_of()查詢最後乙個出現的c。

匹配的位置是返回值。如果沒有匹配發生,則函式返回-1.

int find_first_of(char c, int start = 0):查詢字串中第1個出現的c,由位置start開始。

如果有匹配,則返回匹配位置;否則,返回-1。預設情況下,start為0,函式搜尋整個字串。

#include #include using namespace std;

int main(){

string s1="the first step is as good as half over.";

string s2 = "step";

//字元第一次出現在字串中的位置

int found = s1.find_first_of("a");

cout《執行結果:

187--------------------------710

1619

27

三、

find_last_of()函式

int find_last_of(char c):查詢字串中最後乙個出現的c。有匹配,則返回匹配位置;否則返回-1.

該搜尋在字元末尾查詢匹配,所以起始位置預設為字串末尾,除非有引數指定起始位置。

#include #include using namespace std;

int main(){

string s1="the first step is as good as half over.";

string s2 = "s";

//從後往前找,與first相反而已

int index=s1.length();

while((index=s1.find_last_of("s",index))!=-1) {

cout《執行結果:

271916

107

四、

string substr(int start,int count)函式

帶乙個引數和帶兩個引數

#include #include using namespace std;

int main(){

string s1="the first step is as good as half over.";

string s2 = s1.substr(2,3);

cout《執行結果:

e fthefirst step is as good as half over.

五、

insert()函式

字元連線(+)是在字串尾新增字串。

insert()函式擴充套件了這個能力,允許在任意位置新增字串。

void insert(int statr,const string& s): 將子串s放入字串中,起始於位置start。插入操作增加了原始字串的長度。

#include #include using namespace std;

int main(){

string s1="the first step ";

string s2 = "is as good as half over.";

string s= s1+s2;

cout《執行結果:

the first step is as good as half over.

this as good as half over.e first step

六、

void erase(int start=0,int count=-1)函式:

從start開始,從字串中刪除count個字元。

如果現有的字串少於count個字元,或者count為-1,則刪除到字串尾部的所有字元。

預設情況下,start為0,函式從字串是起始位置開始刪除字串。

預設情況下,函式也刪除到字串尾。

C 對字串的各種處理

1 string str3 123abc456 23 str3 str3.substring 0,i 從左邊開始取字串的前i個字元 str3 str3.remove i,str3.length i 4 str3 str3.substring 0,3 5 str3 str3.remove 3,str3...

C字串處理相關函式

1 strstr str,substr 判斷substr是否是str的子串,如果是則返回substr第一次出現的位置,否則返回null。2 strcat str1,str2 字串連線函式 把src2所指字串新增到str1結尾處 覆蓋str1結尾處的 0 src2和str1所指記憶體區域不可以重疊且s...

字串處理相關函式

字串處理相關函式 刪除字串開頭的空格 void trim left string str 刪除字串結尾的空格 void trim right string str 刪除字串兩端的空格 void trim string str 用char字元分隔字串str,分隔符只有乙個 vector split b...