1,按单一字符切割
string
s
=
"
abcdeabcdeabcde
"
;
string
[] sArray
=
s.Split(
"
c
"
);
oreach(
string
i
in
sArray)
Console.WriteLine(i.ToString());
输出下面的结果:
ab
deab
deab
de
2,按多个单一字符串切割
string
s
=
"
abcdeabcdeabcde
string
[] sArray1
=
s.Split(
new
char
[
3
]
...
{"c","d","e"}
);
foreach
(
string
i
in
sArray1)
Console.WriteLine(i.ToString());
ab
ab
ab
3,按字符串切割
Main()
...
{
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="我*****是*****一*****个*****教*****师";
如果我希望显示为:我是一个教师, ,如何作呢? 我们可以使用下面代码:
string
str1
=
"
我*****是*****一*****个*****教*****师;
string
[] str2;
str1
=
str1.Replace(
"
*****
"
,
"
*
"
);
str2
=
str1.Split(
"
*
"
);
foreach
(
string
i
in
str2)
Console.WriteLine(i.ToString());
这样也可以得到正确结果。但是比如
string str1="我**是*****一*****个*****教*****师";
我希望显示的结果为:我是一个教师。
我如果采用上面的第四种方法来做就会产生下面的错误:我 是一个教师
中间有空格输出,所以输出结果并不是我希望的结果,如何解决呢?这就又回到了,这时可以采用下面的第五种方法:
string
str1
=
"
我**是*****一*****个*****教*****师
"
;
string
[] str2
=
System.Text.RegularExpressions.Regex.Split(str1,
@"
[*]+
"
);
foreach
(
string
i
in
str2)
Console.WriteLine(i.ToString());
这里通过"[*]+" 巧妙的完成了我们的目标。
原文出处
http://kb.cnblogs.com/a/726211/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)