C 中提取字串的解決方法

2022-02-28 05:48:25 字數 1006 閱讀 5339

在做專案(c#)的時候,遇到了乙個需要提取字串的,查了資料,無非就是兩個方法。string.substring()和string.split()這兩個方法,

起初想用substring()來提取,可後面發覺此方法不太適合,因為源字串的長度是sql語句的sql文,非常的長,如果長度算錯了乙個,篩選出來的

結果就差之千里了。

發覺此方法有此侷限性後,就換成split()方法來實現,寫到一半的時候,發覺不對勁,split()中分隔字元用的是char型別,而我想得到的是根據

字串來分隔字元的。

後面參考了下別人寫的關於split分隔字串的。

string e = " aa bb cc dd ee ff gg ";

string x = " ";

string s = e.split(x.tochararray(),3);

string a = s[0]; //(「aa」)

string b = s[1]; //(「bb」)       

string c = s[2]; //(「cc dd ee ff gg」)

ps:如果 string e = " aa          bb cc dd ee ff gg ";多幾個空格的話,結果就不是上面的輸入結果。這個方法比較適合字串中含有多個特殊符號的時候來分別把字元提取出來。

後面實在是沒什麼好的方法:只好用了substring()來提取;

index = ssql.indexof("group");

ssqla = ssqla.substring(0,index);

ssqla = ssqla + "and location.pick_fzn_sg = ";

ssqla = ssqla + "\'y\'";

index = ssql.lastindexof("group");

ssqla = ssqla + ssql.substring(index,ssql.length-index);

現在考慮是否要重寫spilt方法來實現上面的功能。

提取字串substring

substring 方法用於提取字串中介於兩個指定下標之間的字元。語法 stringobject.substring startpos,stoppos 引數說明 注意 1.返回的內容是從 start開始 包含start位置的字元 到 stop 1 處的所有字元,其長度為 stop 減start。2....

從字串中提取數字

下面程式將字串中的連續數字提取出來,並存放到一維陣列中。比如說乙個字串 a284twx234 je3432 把 284 234 3432 這3個連續數字提取出來,分別存放到a 0 a 1 a 2 中。include include include int main buf i 0 sscanf bu...

從字串中提取整數

首先說一下我要做的事情 從乙個txt檔案中 存著乙個矩陣 從這個檔案中提取出這個檔案中的整數。矩陣 1 2 3 4 5 6 7 8 0 1 8 7 3 8 2 9 之前用的函式是fgets char fgets char s,int n,file stream 引數 s 字元型指標,指向儲存讀入資料...