-
我们先来看第一种情况:
string str = "aaaa|ccccc|dddd|eeeee|ffff";
string[] array = str.Split('|');
foreach (string i in array) Response.Write(i+"<br />");所用方法重载如下:
在Split方法中需要的是一个 char型的数组,那么我们上面的情况传入的参数就是只有一个字符的char型参数'|' 所以这个| 要用两个单引号引起来,当然我们还可以把代码写成这样:
string str = "aaaa|ccccc|dddd|eeeee|ffff";
string[] array = str.Split(new char[1]{'|'});
foreach (string i in array) Response.Write(i+"<br />");输出结果:
aaaa
ccccc
dddd
eeeee
ffff -
OK,第一种情况解决了,那么如今我们又遇到了另一个问题,如果是多种字符的该如何处理,例如:
aaaa|ccccc,dddd,eeeee|ffff
处理代码如下:
string str = "aaaa|ccccc,dddd,eeeee|ffff";
string[] array = str.Split(new char[2] { '|', ','});
foreach (string i in array) Response.Write(i+"<br />");上面我们已经说到过了,Split里第一个重载所需要的参数是一个char型数组,那么既然是数组,我们当然可以多定义几个字符传进去咯。
输出结果:
aaaa
ccccc
dddd
eeeee
ffff -
单字符的情况我们已经解决了,那么突然我们又遇到了另一种情况,如:
sinabaidusohubaiduyahoobaiduqq
这样一个字符串,我们是用baidu这个字符串来分割的,如何来处理呢
代码如下:
string str = "sinabaidusohubaiduyahoobaiduqq";
string[] sArray = Regex.Split(str, "baidu", RegexOptions.IgnoreCase);
foreach (string i in sArray) Response.Write(i.ToString() + "<br />");输出结果:
sina
sohu
yahoo
qq -
一般问题以上三种情况基本都可以解决了,但是有的时候我们会出现分隔出来的数据为空的情况,那么出现这种情况如何来避免呢。
我们且来看第二个参数的注释:
当选择None的时候,返回的结果里将会包含空元素
当选择RemoveEmptyEntries的时候将会把为空的元素去除掉。
OK,至此我们用Split分隔的一些情况就都讲解完了。