雖然使用正規表示式能很好的進行字串的解析、提取、替換,但是對於一些簡單的應用,使用
string
類提供的一些方法就可以很好的完成,最突出的就是
split
方法。split
方法能夠很方便的將字串按照一定的規則拆分開。
比如對於下面的字串:
tom,jane,tony,elva,gigi
只要呼叫如下的**就可以將各個名字提取出來:
string value = "tom,jane,tony,elva,gigi";
string names = value.split(",");
for(int i=0,n=names.length;i
執行結果:
tom
jane
tony
elva
gigi
看到這個執行結果,很多人都認為
split
方法就是按照給定的字串對字串進行拆分,知道碰到了下面的問題。
有乙個字串:中國
. 北京
. 海淀
. 學院路。請解析此字串,並列印輸出「中國
北京海淀
學院路」。
於是寫**如下:
string value = "
中國.
北京.
海淀.
學院路";
string names = value.split(".");
for(int i=0,n=names.length;i
執行結果:
對,沒看錯!沒有任何輸出!
讓我們來看看
split
方法的方法簽名吧:
public string split(string regex)
這裡的引數的名稱是
regex
,也就是
regular expression
(正規表示式)。這個引數並不是乙個簡單的分割用的字元,而是乙個正規表示式,看了
split
方法的實現**就更堅定了我們的信心:
public string split(string regex, int limit)
split
的實現直接呼叫的
matcher
類的split
的方法。讀者已經知道,「
. 」在正規表示式中有特殊的含義,因此我們使用的時候必須進行轉義。
修改**如下:
private static void split2() }
執行結果:中國
北京海淀
學院路單個字元分割
string s="abcdeabcdeabcde";
string sarray=s.split('c');
foreach(string i in sarray)
console.writeline(i.tostring());
輸出下面的結果
:ab
deab
deab
de多個字元分割
string s="abcdeabcdeabcde
string sarray1=s.split(new char[3]);
foreach(string i in sarray1)
console.writeline(i.tostring());
可以輸出下面的結果:
ab ab
ab多個字元分割(
正規表示式)
string content="agcsmallmacsmallgggsmallytx";
stringresultstring=regex.split(content,"small",regexoptions.ignorecase)
foreach(string i in resultstring)
console.writeline(i.tostring());
輸出下面的結果
:agc
mac
ggg
ytx例項:
intitemnoold = int32.parse(valold.split(new
char )[0]);
String類中split方法
string類中split方法 split 你需要分割字串的,分割的總個數 該方法使用正規表示式的底層完成對字串的分割 使用的案例 1 string s women,sksk,k,k,k,k,3 23 4for string s1 s.split 7 該執行結果是 women skskkk kk注意...
String類中split方法的使用
split 方法 將乙個字串分割為子字串,然後將結果作為字串陣列返回。stringobj.split separator limit 引數 stringobj 被分解的 string物件或文字。該物件不會被 split 方法修改。separator 可選項 字串或正規表示式物件,它標識了分隔字串時使...
String神奇的split方法
size medium string的split方法的使用 今天我用的了string的split方法,我起初都是使用的是乙個引數的方法,今天發現有兩個引數的,看了一下api,開始感覺有點蒙,後來看了一下它 的例子,還在網上看了一些資料,後來我就理解了這個。這個函式接收兩個引數,它的宣告是下面的樣子 ...