本文實例總結了C#中split用法。分享給大家供大家參考,具體如下:
以下是我轉載的兩個不同的人的,方便大家及自己查閱
1
2
3
4
|
string s= "abcdeabcdeabcde" ; string [] sArray=s.Split( "c" ); foreach ( string i in sArray) Console.WriteLine(i.ToString()); |
輸出結果:
ab
deab
deab
de
1
2
3
4
|
string s="abcdeabcdeabcde string [] sArray1=s.Split( new char [3]{ "c" , "d" , "e" }); foreach ( string i in sArray1) Console.WriteLine(i.ToString()); |
輸出結果:
ab
ab
Main() :
1
2
3
4
5
|
System.Text.RegularExpressions string content= "agcsmallmacsmallgggsmallytx" ; string []resultString=Regex.Split(content, "small" ,RegexOptions.IgnoreCase) foreach ( string i in resultString) Console.WriteLine(i.ToString()); |
輸出結果:
agc
mac
ggg
ytx
使用正則表達式有什么好處呢? 別著急,后面我們會看到它的獨特之處。
下面介紹第4種方法。比如
string str1="我*****是*****一*****個*****教*****師";
如果我希望顯示為:我是一個教師, ,如何作呢? 我們可以使用下面代碼:
1
2
3
4
5
6
|
string str1="我*****是*****一*****個*****教*****師; string [] str2; str1=str1.Replace( "*****" , "*" ); str2=str1.Split( "*" ); foreach ( string i in str2) Console.WriteLine(i.ToString()); |
這樣也可以得到正確結果。但是比如
string str1="我**是*****一*****個*****教*****師";
我希望顯示的結果為:我是一個教師。
我如果采用上面的第四種方法來做就會產生下面的錯誤:我 是一個教師
中間有空格輸出,所以輸出結果并不是我希望的結果,如何解決呢?這就又回到了,這時可以采用下面的第五種方法:
1
2
3
4
|
string str1= "我**是*****一*****個*****教*****師" ; string [] str2 = System.Text.RegularExpressions.Regex.Split(str1, @"[*]+" ); foreach ( string i in str2) Console.WriteLine(i.ToString()); |
這里通過"[*]+" 巧妙的完成了我們的目標。
*************************88888888***********************************
*****************************************************************
1
2
3
4
5
|
mystr= "1,2,3,4,5" mystr=split(mystr, "," ) for i=0 to ubound(mystr) response.write mystr(i) next |
Split 函數 語言參考
描述
返回基于 0 的一維數組,其中包含指定數目的子字符串。
語法
Split(expression[, delimiter[, count[, start]]])
Split 函數的語法有以下參數:
參數 描述
expression 必選。字符串表達式,包含子字符串和分隔符。如果 expression 為零長度字符串,Split 返回空數組,即不包含元素和數據的數組。
delimiter 可選。用于標識子字符串界限的字符。如果省略,使用空格 ("") 作為分隔符。如果 delimiter 為零長度字符串,則返回包含整個 expression 字符串的單元素數組。
count 可選。被返回的子字符串數目,-1 指示返回所有子字符串。
compare 可選。指示在計算子字符串時使用的比較類型的數值。有關數值,請參閱“設置”部分。
設置
compare 參數可以有以下值:
常數 值 描述
vbBinaryCompare 0 執行二進制比較。
vbTextCompare 1 執行文本比較。
vbDatabaseCompare 2 執行基于數據庫(在此數據庫中執行比較)中包含的信息的比較。
1
|
Response.Write ( split( "1,2" , "," ) ); |
Out:
12
1
2
3
4
5
6
7
8
9
|
Dim MyString, MyArray, Msg MyString = "VBScriptXisXfun!" MyArray = Split(MyString, "x" , -1, 1) ' MyArray(0) 包含 "VBScript" 。 ' MyArray(1) 包含 "is" 。 ' MyArray(2) 包含 "fun!" 。 Msg = MyArray(0) & " " & MyArray(1) Msg = Msg & " " & MyArray(2) MsgBox Msg |
用錯了,抱歉:
1
2
|
str=split( "1,2" , "," ) response.write str(1)&str(2) |
Out:
12
上面的Str(2)是0
希望本文所述對大家C#程序設計有所幫助。