C 中的Split用法以及詳解

2022-02-17 08:43:25 字數 4454 閱讀 1969

一、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); 或string strarray = str.split('t'); //單字元切割(result : "aaa"  "bbscc"  "dd")

string strarray = str.split(new char); //多位元組切割(result : "aaa" "bb" "cc" "dd")

2.string.split(char,int32)

string str = "aaatbbscctdd";

string strarray = str.split(new char);//只切割成2份(result :"aaa" "bbscctdd")

3.string.split(char,stringsplitoptions)

string str = "aaatbbscctddt";

string strarray = str.split(new char);//去除空元素(result :"aaa" "bbscc" "dd")

string strarray = str.split(new char);//保留空元素(result :"aaa" "bbscc" "dd" 「」) 

4.string.split(string,stringsplitoptions)

string str = "aaatbbscctddt";

string strarray = str.split(new string);//去除空元素(result :"aaa" "bbscc" "dd")

string strarray = str.split(new string);//保留空元素(result :"aaa" "bbscc" "dd" 「」) 

5.string.split(char,int32,stringsplitoptions)

string str = "aaatbbscctddt";

string strarray = str.split(new char);//切割成2份且去除空元素(result :"aaa" "bbscctddt")

string strarray = str.split(new char);//切割成2份且保留空元素(result :"aaa" "bbscctddt" 「」)

6.string.split(string,int32,stringsplitoptions)

string str = "aaatbbscctddt";

string strarray = str.split(new string);//切割成2份且去除空元素(result :"aaa" "bbscctddt")

string strarray = str.split(new string);//切割成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); 或string strarray = str.split('t'); //單字元切割(result : "aaa"  "bbscc"  "dd")

2.多字元拆分

string str = "aaatbbscctdd";

string strarray = str.split(new char); //多位元組切割(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);  //字串切割(result : "aaa" "bb" "cc" "dd")

注意:

1.string.split方法沒有過載string.split(stirng )方法,也就是說str.split("t")或者str.split(new string)都是錯誤的。

2.除了切割單字元可用string.split('t')外,其它的都必須用string.split(new char{})這樣的格式,否則編譯會出錯

C 中split的用法

第一種方法 string s abcdeabcdeabcde string sarray s.split c foreach string i in sarray console.writeline i.tostring 輸出下面的結果 abdeab deab de第二種方法 我們看到了結果是以乙個...

C 中split的用法

第一種方法 string s abcdeabcdeabcde string sarray s.split c foreach string i in sarray console.writeline i.tostring 輸出下面的結果 abdeab deab de第二種方法 我們看到了結果是以乙個...

C 中split的用法

第一種方法 string s abcdeabcdeabcde string sarray s.split c foreach string i in sarray console.writeline i.tostring 輸出下面的結果 abdeab deab de第二種方法 我們看到了結果是以乙個...