在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可以用下面的方法:
1
2
3
4
5
6
7
8
|
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、用字符串分隔:
1
2
3
4
|
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、用多个字符来分隔:
1
2
3
|
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、用单个字符来分隔:
1
2
3
|
string str= "aaajbbbjccc" ; string [] sArray=str.Split( 'j' ); foreach ( string i in sArray) Response.Write(i.ToString() + "<br>" ); |
输出结果:
aaa
bbb
ccc
以上这篇C# Split函数根据特定分隔符分割字符串的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://www.50bit.cn/News/Index/5251.html