首页  ·  知识 ·  编程语言
c#中Split分割字符串时常见问题分析
拍拍尘土  http://blog.tao123.com/  .NET  编辑:dezai  图片来源:网络
1、用String.Split 函数时,若间隔符为单个字符,就没有问题了 String.Split('|') 。 quote> quote-title>引用
1、用String.Split 函数时,若间隔符为单个字符,就没有问题了 String.Split('|') 。
引用
演示:
===============
string strBreak = "|";
string str= "111"+ strBreak +"222"+ strBreak +"333"+ strBreak +"444";
string[] arr1=str.Split('|') ;
foreach(string i in arr1)
Response.Write( i.ToString() +"
\n");

结果(符合要求)
===============
111

222

333

444
2、若间隔字符为多个字符,情况就不同了,其结果并不是我们所希望看到的
引用
演示:
===============
string strBreak = "||";
string str= "111"+ strBreak +"222"+ strBreak +"333"+ strBreak +"444";
char[] arrChr = strBreak.ToCharArray();
string[] arr1=str.Split(arrChr) ;
//string[] arr1=str.Split(new char[2]{'|','|'}) ;//或者这样写
foreach(string i in arr1)
Response.Write( i.ToString() +"
\n");

结果(有几个字符就会打印几个
,不符合要求)
===============
111



222



333



444
3、用正则来处理多字符的情况。
引用
演示:
===============
string strBreak = "||";
string str= "111"+ strBreak +"222"+ strBreak +"333"+ strBreak +"444";
string[] arr1=Regex.Split(str,@"\|\|",RegexOptions.IgnoreCase);
//string[] arr1=Regex.Split(str,"\\u007C\\u007C",RegexOptions.IgnoreCase); //也可以用 \\u007C 替代特殊字符 |

foreach(string i in arr1)
Response.Write( i.ToString() +"
\n");

结果(符合要求)
===============
111

222

333

444
本文作者:拍拍尘土 来源:http://blog.tao123.com/
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读