第一種方法:開啟vs.net新建乙個控制台專案。然後在main()方法下輸入下面的程式。
string s="abcdeabcdeabcde";
string sarray=s.split('c');
foreach(string i in sarray)
console.writeline(i.tostring());
輸出下面的結果:ab
deab
deab
de 我們看到了結果是以乙個指定的字元進行的分割。如果我們希望使用多個字元進行分割如c,d,e如何做呢?好,我們使用另一種構造方法:
更改為
string s="abcdeabcdeabcde
string sarray1=s.split(new char[3]);
foreach(string i in sarray1)
console.writeline(i.tostring());
可以輸出下面的結果:ab
ab ab
除了以上的這兩種方法以外,第三種方法是使用正規表示式。新建乙個控制台專案。然後先添 加 using system.text.regularexpressions;
main() :中更改為
system.text.regularexpressions
string c;
stringresultstring=regex.split(content,"small",regexoptions.ignorecase)
foreach(string i in resultstring)
console.writeline(i.tostring());
輸出下面的結果:agc mac ggg ytx
使用正規表示式有什麼好處呢? 別著急,後面我們會看到它的獨特之處。
下面介紹第4種方法。比如 string str1="我*****是*****一*****個*****教*****師";
如果我希望顯示為:我是乙個教師, ,如何作呢?
我們可以使用下面**: string str1="我*****是*****一*****個*****教*****師";
string str2;str1=str1.replace("*****","*"); str2=str1.split('*'); foreach(string i in str2) console.writeline(i.tostring()); 這 樣也可以得到正確結果。但是比如 string str1="我**是*****一*****個*****教*****師";
我希望顯示的結果為:我是乙個教師。
我如果採用上面的第四種方法來做就會產生下面的錯誤:我 是乙個教師 中間有空格輸出,所以輸出結果並不是我希望的結果,如 何解決呢?這就又回到了正規表示式了(這裡可以看到它的功能強大之處),這時可以採用下面的第五種方法: string str1="我**是***** 一*****個*****教***** 師";string str2 = system.text.regularexpressions.regex.split(str1,@" [*]+"); foreach(string i in str2)console.writeline(i.tostring());
這裡通過"[*]+" 巧妙的完成了我們的目標。 ch(string i in str2)console.writeline(i.tostring());
這裡通過"[*]+" 巧妙的完成了我們的目標。
字串方法彙總
1.定義字串直接量 var s abc 2.構造字串 var s new string 建立空字串 var s new string adafwv 字串初始化 3.計算字串長度s.length 注意 字串長度不可以像陣列一樣動態增長,但可使用下標來定義單個字元 4.查詢字串 charat 返回字串中...
字串的分割方法
package cn.learn.day08.demo02 分割字串的方法 public string split string regex 按照引數的規則,將字串切分成為若干部分。注意事項 split方法的引數其實是乙個 正規表示式 今後學習。今天要注意 如果按照英文句點 進行切分,必須寫 兩個反...
mysql分割字串 mysql分割字串
專案有通過一批id去過濾結果的需求,因為這個id是從其他平台拉下來的excel,為了避免加引號逗號的麻煩,在mysql儲存過程裡面拼接。在此做個記錄。很多地方用得上。1.通過某個字元,分割字串的函式。輸入分別為f string 待分割字串 f delimiter 分割字元 f order 取的字串的...