C Split字元分割的幾種使用方法

2022-05-06 16:54:10 字數 1882 閱讀 1561

第一種方法:

string s = "abcdeabcdeabcde";

string sarray = s.split('c');

foreach (string i in sarray)

console.writeline(i.tostring());

console.readkey();

輸出下面的結果:

abdeab

deab

de第二種方法:

我們看到了結果是以乙個指定的字元進行的分割。使用另一種構造方法對多個字元進行分割:

string s="abcdeabcdeabcde";

string sarray1=s.split(new char[3]) ;

foreach(string i in sarray1)

console.writeline(i.tostring());

可以輸出下面的結果:

abab

ab第三種方法:

除了以上的這兩種方法以外,第三種方法是使用正規表示式。新建乙個控制台專案。然後先添 加引用: using system.text.regularexpressions;

string content = "agcyongfa365macyongfa365gggyongfa365ytx";

string resultstring = regex.split(content, "yongfa365", regexoptions.ignorecase);

foreach (string i in resultstring)

console.writeline(i.tostring());

console.readkey();

輸出下面的結果:

agcmac

gggytx

第四種方法:

string str1 = "我*****是*****一*****個*****教*****師";

string str2;

str1 = str1.replace("*****", "*");

str2 = str1.split('*');

foreach (string i in str2)

console.write(i.tostring());

console.readkey();

一般用的最多的是:str.replace("\r\n","\r").split('\r')

第五種方法:

string str1="我**是*****一*****個*****教*****師";

我希望顯示的結果為:我是乙個教師。

我如果採用上面的第四種方法來做就會產生下面的錯誤:我   是乙個教師。中間有空格輸出,所以輸出結果並不是希望的結果,這就又回到了正規表示式了,這時可以採用下面的第五種方法:

string str1 = "我**是*****一*****個*****教*****師";

string str2 = system.text.regularexpressions.regex.split(str1, @"\*+");

foreach (string i in str2)

console.write(i.tostring());

console.readkey();

這裡通過\*+巧妙的完成了我們的目標。

推薦:string str2 = system.text.regularexpressions.regex.split(str1, @"\*+", regexoptions.ignorecase);

C split 用字串分割

string aa 1234124 234234 knfdlgndfl lfgkd nkdfln,xcmv,xzcm mxcnvmxcvnsdklfd string arrresult aa.split new string,stringsplitoptions.none 這裡不能用 string ...

C split分割字串函式

將字串繫結到輸入流istringstream,然後使用getline的第三個引數,自定義使用什麼符號進行分割就可以了。include include include include using namespace std void split const string s,vector sv,con...

C split 幾種使用方法

第一種方法 string s abcdeabcdeabcde string sarray s.split c foreach string i in sarray console.writeline i.tostring console.readkey 輸出下面的結果 abdeab deab de第...