一、String.Split方法提供瞭如下6個重載函數: 名稱說明 String.Split (Char[]) 返回包含此實例中的子字元串(由指定 Char 數組的元素分隔)的 String 數組。 由 .NET Compact Framework 支持。 String.Split (Char[], ...
一、String.Split方法提供瞭如下6個重載函數:
名稱 | 說明 |
---|---|
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 數組。參數指定要返回子字元串的最大數量,以及是否要返回空數組元素。 |
以下詳細舉例說明:
1.String.Split(Char[])
string str = "aaatbbscctdd";
string []strArray = str.Split(new char[]{'t'}); 或string []strArray = str.Split('t'); //單字元切割(result : "aaa" "bbscc" "dd")
string []strArray = str.Split(new char[]{'t','s'}); //多位元組切割(result : "aaa" "bb" "cc" "dd")
2.String.Split(Char[],Int32)
string str = "aaatbbscctdd";
string []strArray = str.Split(new char[]{'t',2});//只切割成2份(result :"aaa" "bbscctdd")
3.String.Split(Char[],StringSplitOptions)
string str = "aaatbbscctddt";
string []strArray = str.Split(new char[]{'t',StringSplitOptions.RemoveEmptyEntries});//去除空元素(result :"aaa" "bbscc" "dd")
string []strArray = str.Split(new char[]{'t',StringSplitOptions.None});//保留空元素(result :"aaa" "bbscc" "dd" “”)
4.String.Split(String[],StringSplitOptions)
string str = "aaatbbscctddt";
string []strArray = str.Split(new String[]{"t",StringSplitOptions.RemoveEmptyEntries});//去除空元素(result :"aaa" "bbscc" "dd")
string []strArray = str.Split(new String[]{"t",StringSplitOptions.None});//保留空元素(result :"aaa" "bbscc" "dd" “”)
5.String.Split(Char[],Int32,StringSplitOptions)
string str = "aaatbbscctddt";
string []strArray = str.Split(new char[]{'t',2,StringSplitOptions.RemoveEmptyEntries});//切割成2份且去除空元素(result :"aaa" "bbscctddt")
string []strArray = str.Split(new char[]{'t',2,StringSplitOptions.None});//切割成2份且保留空元素(result :"aaa" "bbscctddt" “”)
6.String.Split(String[],Int32,StringSplitOptions)
string str = "aaatbbscctddt";
string []strArray = str.Split(new String[]{"t",2,StringSplitOptions.RemoveEmptyEntries});//切割成2份且去除空元素(result :"aaa" "bbscctddt")
string []strArray = str.Split(new String[]{"t",2,StringSplitOptions.None});//切割成2份且保留空元素(result :"aaa" "bbscctddt" “”)
二、正則匹配拆分字元串提供了5個重載函數:
名稱 | 說明 |
---|---|
Regex.Split (String) | 在由 Regex 構造函數中指定的正則表達式模式定義的位置拆分指定的輸入字元串。
由 .NET Compact Framework 支持。 |
Regex.Split (String, Int32) | 在由 Regex 構造函數中指定的正則表達式定義的位置,將指定的輸入字元串拆分指定的最大次數。
由 .NET Compact Framework 支持。 |
Regex.Split (String, String) | 在由正則表達式模式定義的位置拆分輸入字元串。
由 .NET Compact Framework 支持。 |
Regex.Split (String, Int32, Int32) | 從輸入字元串中的指定字元位置開始,在由 Regex 構造函數中指定的正則表達式定義的位置,將指定的輸入字元串拆分指定的最大次數。
由 .NET Compact Framework 支持。 |
Regex.Split (String, String, RegexOptions) | 在由指定的正則表達式模式定義的位置拆分輸入字元串。可指定選項來修改匹配的行為。
由 .NET Compact Framework 支持。 |
using System.Text.RegularExpressions;
1.Regex.Split(String,String)
string str = "aaatsbbtscctsdd";
stirng []strArray = Regex.Split(str,"ts"); //正則匹配切割(result: "aaa" "bb" "cc" "dd");
2.Regex.Split(String,String)
string str = "aaatsbbtscctsdd";
stirng []strArray = Regex.Split(str,"ts",RegexOptions.IgnoreCase); //正則匹配切割(result: "aaa" "bb" "cc" "dd");
三、應用
1.單字元拆分
string str = "aaatbbscctdd";
string []strArray = str.Split(new char[]{'t'}); 或string []strArray = str.Split('t'); //單字元切割(result : "aaa" "bbscc" "dd")
2.多字元拆分
string str = "aaatbbscctdd";
string []strArray = str.Split(new char[]{'t','s'}); //多位元組切割(result : "aaa" "bb" "cc" "dd")
3.字元串拆分
using System.Text.RegularExpressions;
string str = "aaatsbbtscctsdd";
stirng []strArray = Regex.Split(str,"ts",RegexOptions.IgnoreCase); //正則匹配切割且(result: "aaa" "bb" "cc" "dd");
或者
string str = "aaatsbbtscctsdd";
string []strArray = str.Split(new string[]{"ts"}); //字元串切割(result : "aaa" "bb" "cc" "dd")
註意:
1.String.Split方法沒有重載String.Split(stirng [])方法,也就是說str.Split("t")或者str.Split(new string[]{"ts","dd"})都是錯誤的。
2.除了切割單字元可用String.Split('t')外,其它的都必須用String.Split(new char[]{})這樣的格式,否則編譯會出錯