C#中Split分割字符串的幾種方法

1墨榄、用字符串分隔(正則):
using System.Text.RegularExpressions;
string str="aaajsbbbjsccc";
string[] sArray=Regex.Split(str,"js",RegexOptions.IgnoreCase);
結(jié)果:
aaa
bbb
ccc

2、用多個字符來分隔:
string str="aaajbbbscccjdddseee";
string[] sArray=str.Split(new char[2] {'j','s'});
結(jié)果:
aaa
bbb
ccc
ddd
eee
3藐吮、用單個字符來分隔:
string s=abcdeabcdeabcde;
string[] sArray=s.Split('c') ;
結(jié)果:
ab
deab
deab
de

Split 的 separator 參數(shù)應(yīng)該是char[] 或 string[]剑辫,不應(yīng)是字符串哭尝。

Split分隔字符串時驹吮,如果分隔符為一個字符,一般情況下返回的字符數(shù)組長度是預(yù)期的贡定。
但當(dāng)分隔符為多個字符時赋访,比如 str.Split("|||".ToCharArray()) ,返回的字符數(shù)組中可能會多出預(yù)期的長度缓待,數(shù)組中會出現(xiàn)一些值為空的字符串元素蚓耽。
可以采用正則表達(dá)式來分割:
string[] arr = Regex.Split( str, @"|||" ,RegexOptions.IgnoreCase );
注意:| 在正則表達(dá)式中是保留字符,需要用""轉(zhuǎn)義旋炒。

分割文本域中以回車換行的例子:
string[] arr = s.Split(new string[] { "\r\n" }, StringSplitOptions.None)
string[] arr = Regex.Split( str , "\r\n" ,RegexOptions.IgnoreCase)

比較說明

String.Split 方法有6個重載函數(shù):

程序代碼

  1. public string[] Split(params char[] separator)
  2. public string[] Split(char[] separator, int count)
  3. public string[] Split(char[] separator, StringSplitOptions options)
  4. public string[] Split(string[] separator, StringSplitOptions options)
  5. public string[] Split(char[] separator, int count, StringSplitOptions options)
  6. public string[] Split(string[] separator, int count, StringSplitOptions options)

下邊我們通過一些實例來說明下怎么使用(以下string words = "1,2.3,,4";):

    1. public string[] Split(params char[] separator)
      程序代碼
      string[] split = words.Split(new Char[] { ',' });//返回:{"1","2.3","","4"}
      string[] split = words.Split(new Char[] { ',', '.' });//返回:{"1","2","3","","4"}
    1. public string[] Split(char[] separator, int count)
      程序代碼
      string[] split = words.Split(new Char[] { ',', '.' }, 2);//返回:{"1","2.3,,4"}
      string[] split = words.Split(new Char[] { ',', '.' }, 6);//返回:{"1","2","3","","4"}
    1. public string[] Split(char[] separator, StringSplitOptions options)
      程序代碼
      //返回:{"1","2","3","4"} 不保留空元素
      string[] split = words.Split(new Char[] { ',', '.' }, StringSplitOptions.RemoveEmptyEntries);
      //保留空元素
      string[] split = words.Split(new Char[] { ',', '.' }, StringSplitOptions.None);//返回:{"1","2","3","","4"}
    1. public string[] Split(string[] separator, StringSplitOptions options)
      程序代碼
      //返回:{"1","2","3","4"} 不保留空元素
      string[] split = words.Split(new string[] { ",", "." }, StringSplitOptions.RemoveEmptyEntries);
      //保留空元素
      string[] split = words.Split(new string[] { ",", "." }, StringSplitOptions.None);//返回:{"1","2","3","","4"}
    1. public string[] Split(char[] separator, int count, StringSplitOptions options)
      程序代碼
      //返回:{"1","2.3,,4"} 不保留空元素
      string[] split = words.Split(new Char[] { ',', '.' }, 2, StringSplitOptions.RemoveEmptyEntries);
      //保留空元素
      string[] split = words.Split(new Char[] { ',', '.' }, 6, StringSplitOptions.None);//返回:{"1","2","3","","4"}
    1. public string[] Split(string[] separator, int count, StringSplitOptions options)
      程序代碼
      //返回:{"1","2.3,,4"} 不保留空元素
      string[] split = words.Split(new string[] { ",", "." }, 2, StringSplitOptions.RemoveEmptyEntries);
      保留空元素
      string[] split = words.Split(new string[] { ",", "." }, 6, StringSplitOptions.None);//返回:{"1","2","3","","4"}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載步悠,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。
  • 序言:七十年代末瘫镇,一起剝皮案震驚了整個濱河市鼎兽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌铣除,老刑警劉巖接奈,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異通孽,居然都是意外死亡,警方通過查閱死者的電腦和手機睁壁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進(jìn)店門背苦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人潘明,你說我怎么就攤上這事行剂。” “怎么了钳降?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵厚宰,是天一觀的道長。 經(jīng)常有香客問我,道長铲觉,這世上最難降的妖魔是什么澈蝙? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮撵幽,結(jié)果婚禮上灯荧,老公的妹妹穿的比我還像新娘。我一直安慰自己盐杂,他們只是感情好逗载,可當(dāng)我...
    茶點故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著链烈,像睡著了一般厉斟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上强衡,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天擦秽,我揣著相機與錄音,去河邊找鬼食侮。 笑死号涯,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的锯七。 我是一名探鬼主播链快,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼眉尸!你這毒婦竟也來了域蜗?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤噪猾,失蹤者是張志新(化名)和其女友劉穎霉祸,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體袱蜡,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡丝蹭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了坪蚁。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奔穿。...
    茶點故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖敏晤,靈堂內(nèi)的尸體忽然破棺而出贱田,到底是詐尸還是另有隱情,我是刑警寧澤嘴脾,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布男摧,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏耗拓。R本人自食惡果不足惜拇颅,卻給世界環(huán)境...
    茶點故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望帆离。 院中可真熱鬧蔬蕊,春花似錦、人聲如沸哥谷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽们妥。三九已至猜扮,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間监婶,已是汗流浹背旅赢。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留惑惶,地道東北人煮盼。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像带污,于是被迫代替她去往敵國和親僵控。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,562評論 2 349

推薦閱讀更多精彩內(nèi)容