http://www.111cn.net/net/160/46392.htm
http://blog.sina.com.cn/s/blog_a401a1ea0101f8kx.html
1、用字符串分隔:
using System.Text.RegularExpressions;
string str="aaajsbbbjsccc";
string[] sArray=Regex.Split(str,"js",RegexOptions.IgnoreCase);
foreach (string i in sArray) Response.Write(i.ToString() + "<br>");
輸出結果:
aaa
bbb
ccc
2、用多個字符來分隔:
代碼如下 | 複製代碼 |
string str="aaajbbbscccjdddseee"; string[] sArray=str.Split(new char[2] {'j','s'}); foreach(string i in sArray) Response.Write(i.ToString() + "<br>"); 輸出結果: aaa bbb ccc ddd eee |
3、用單個字符來分隔:
代碼如下 | 複製代碼 |
string s=abcdeabcdeabcde; |
string[] arr = str.Split("o");
這是一個具有語法錯誤的語句,Split 的 separator 參數應該是 char[] 或 string[],不應是字符串。正確的示例:
代碼如下 | 複製代碼 |
string str = "technology"; |
首先在程序中需要引用正則表達式相關的程序集:using System.Text.RegularExpressions;
然後使用方法如下:
代碼如下 | 複製代碼 |
string content=agcsmallmacsmallgggsmallytx; 輸出下面的結果:
agc |
#中Split分隔字符串時,如果分隔符爲一個字符,一般情況下返回的字符數組長度是預期的。
但當分隔符爲多個字符時,比如 str.Split("|||".ToCharArray()) ,返回的字符數組中可能會多出預期的長度,數組中會出現一些值爲空的字符串元素。
這時我們可以採用正則表達式來分割,你可能需要對正則表達式比較熟悉,不過一般需要用到的正則表達式都比較簡單:
代碼如下 | 複製代碼 |
string[] arr = Regex.Split( str, @"|||" ,RegexOptions.IgnoreCase ); |
注意:| 在正則表達式中是保留字符,需要用""轉義。
分割文本域中以回車換行的例子:
代碼如下 | 複製代碼 |
string[] arr = Regex.Split( str , "rn" ) |
<div id="overloadedMembersSection" class="section" name="collapseableSection">
名稱 | 說明 |
---|---|
String.Split (Char[]) |
返回包含此實例中的子字符串(由指定 Char 數組的元素分隔)的 String 數組。
由 .NET Compact Framework 支持。 |
String.Split (Char[], Int32) | 返回包含此實例中的子字符串(由指定 Char 數組的元素分隔)的 String 數組。參數指定返回的子字符串的最大數量。 |
String.Split (Char[], StringSplitOptions) | 返回包含此字符串中的子字符串(由指定的 Char 數組的元素分隔)的 String 數組。參數指定是否返回空數組元素。 |
String.Split (String[], StringSplitOptions) | 返回包含此字符串中的子字符串(由指定的 String 數組的元素分隔)的 String 數組。參數指定是否返回空數組元素。 |
String.Split (Char[], Int32, StringSplitOptions) | 返回包含此字符串中的子字符串(由指定的 Char 數組的元素分隔)的 String 數組。參數指定要返回子字符串的最大數量,以及是否要返回空數組元素。 |
String.Split (String[], Int32, StringSplitOptions) | 返回包含此字符串中的子字符串(由指定的 String 數組的元素分隔)的 String 數組。參數指定要返回子字符串的最大數量,以及是否要返回空數組元素。 |
===================================
using System.Text.RegularExpressions;
string str="aaajsbbbjsccc";
string[] sArray=Regex.Split(str,"js",RegexOptions.IgnoreCase);
foreach (string i in sArray) Response.Write(i.ToString() + "
");
輸出結果:
aaa
bbb
ccc
2、用多個字符來分隔:
string str="aaajbbbscccjdddseee";
foreach(string i in sArray) Response.Write(i.ToString() + "
");
輸出結果:
aaa
bbb
ccc
ddd
eee
3、用單個字符來分隔:
string str="aaajbbbjccc";
string[] sArray=str.Split('j');
foreach(string i in sArray) Response.Write(i.ToString() + "
");
輸出結果:
aaa
bbb
ccc
這是一個具有語法錯誤的語句,Split 的 separator 參數應該是 char[] 或 string[],不應是字符串。正確的示例:
char[] separator = { 'o' };
string[] arr = str.Split(separator);
String.Split 方法有6個重載函數:
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"}
2. public string[] Split(char[] separator, int count)
string[] split = words.Split(new Char[] { ',', '.' }, 6);//返回:{"1","2","3","","4"}
3. public string[] Split(char[] separator, StringSplitOptions options)
string[] split = words.Split(new Char[] { ',', '.' }, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素
4. public string[] Split(string[] separator, StringSplitOptions options)
string[] split = words.Split(new string[] { ",", "." }, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素
5. public string[] Split(char[] separator, int count, StringSplitOptions options)
string[] split = words.Split(new Char[] { ',', '.' }, 6, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素
6. public string[] Split(string[] separator, int count, StringSplitOptions options)
string[] split = words.Split(new string[] { ",", "." }, 6, StringSplitOptions.None);//返回:{"1","2","3","","4"} 保留空元素