在c#程序开发过程中,很多时候可能需要将字符串根据特定的分割字符分割成字符或者list集合,例如根据逗号将字符串分割为数组,或者根据竖线将字符串分割成数组,c#中提供了split()函数来快速将字符串分割成数组形式,如果需要转换为list集合,可在分割完成后使用数组的tolist()方法即可转换为list集合数据。

例如下列例子,将字符str按照逗号分隔成数组。

string str = “a,b,c,d,e,f,g”;

string[] strarr = str.split(‘,’);//根据逗号分隔字符串str

分隔完成之后的得到的数组strarr,取值为

strarr[0]=”a”,strarr[1]=”b”,strarr[2]=”c”,strarr[3]=”d”,strarr[4]=”e”,strarr[5]=”f”

在有些业务需求里面,可能要求将字符串按照特定的字符分隔为list集合,可在上述的基础上加个tolist即可实现,实现语句如下:

list<string> strlist = str.split(‘,’).tolist();

补充知识:c#实现字符串按多个字符采用split方法分割得到数组

string字符串如何按多个字符采用split方法进行分割呢?本文提供vs2005和vs2003的实现方法,vs2005可以用下面的方法:

string agentinfo = userinfo.attribute19.tostring();
      string[] myagent = agentinfo.split(new string[] { "$#$" }, stringsplitoptions.none);
      if (myagent.length == 3)
      {
        this.qlookupmyagent.text = myagent[0].tostring();
        this.qcalenderstartdate.value = myagent[1].tostring();
        this.qcalenderenddate.value = myagent[2].tostring();
      }

vs2003下用下面的方法:

1、用字符串分隔:

using system.text.regularexpressions; 
string str="aaajsbbbjsccc";
string[] sarray=regex.split(str,"js",regexoptions.ignorecase);
foreach (string i in sarray) response.write(i.tostring() + "<br>");

输出结果:

aaa

bbb

ccc

2、用多个字符来分隔:

string str="aaajbbbscccjdddseee";
string[] sarray=str.split(new char[2]{'j','s'});
foreach(string i in sarray) response.write(i.tostring() + "<br>");

输出结果:

aaa

bbb

ccc

ddd

eee

3、用单个字符来分隔:

string str="aaajbbbjccc";
string[] sarray=str.split('j');
foreach(string i in sarray) response.write(i.tostring() + "<br>");

输出结果:

aaa

bbb

ccc

以上这篇c# split函数根据特定分隔符分割字符串的操作就是www.887551.com分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持www.887551.com。