.net中split的用法,asp.net字符分隔

在进行数据传输和存储的时候我们经常要把很多元素的数据集合放到一个变量里传递,这样既减少了传递次数又减少了占用空间。例如我要把产品名和产品id以及产品价格统一写到一传传递就会构造出如下这样一个字符串 123|iphone4s|$200 然后在另一个页面或程序中去处理这个字符串,今天就来讲一下C#(Asp.net)中split方法的使用。

  • 我们先来看第一种情况:

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分隔的一些情况就都讲解完了。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值