C#.NET Split 的几种使用方法 一种方法: string s = "abcdeabcdeabcde"; string[] sArray = s.Split('c'); foreach (string i in sArray) Console.WriteLine(i.ToString()); Console.ReadKey();输出下面的结果: ab deab deab de 第二种方法: 我们看到了结果是以一个指定的字符进行的分割。使用另一种构造方法对多个字符进行分割:string s="abcdeabcdeabcde"; string[] sArray1=s.Split(new char[3]...{'c','d','e'}) ; foreach(string i in sArray1) Console.WriteLine(i.ToString());可以输出下面的结果: ab ab ab第三种方法: 除了以上的这两种方法以外,第三种方法是使用正则表达式。新建一个控制台项目。然后先添加引用: using System.Text.RegularExpressions;string content = "agcyongfa365macyongfa365gggyongfa365ytx"; string[] resultString = Regex.Split(content, "yongfa365", RegexOptions.IgnoreCase); foreach (string i in resultString) Console.WriteLine(i.ToString()); Console.ReadKey();输出下面的结果: agc mac ggg ytx 第四种方法: string str1 = "我*****是*****一*****个*****教*****师"; string[] str2; str1 = str1.Replace("*****", "*"); str2 = str1.Split('*'); foreach (string i in str2) Console.Write(i.ToString()); Console.ReadKey();一般用的最多的是:str.Replace("\r\n","\r").Split('\r') 第五种方法: string str1="我**是*****一*****个*****教*****师"; 我希望显示的结果为:我是一个教师。 我如果采用上面的第四种方法来做就会产生下面的错误:我 是一个教师。中间有空格输出,所以输出结果并不是希望的结果,这就又回到了正则表达式了,这时可以采用下面的第五种方法: string str1 = "我**是*****一*****个*****教*****师"; string[] str2 = System.Text.RegularExpressions.Regex.Split(str1, @"\*+"); foreach (string i in str2) Console.Write(i.ToString()); Console.ReadKey();
第六种方法: 从数据库表中取出某一字段的值,然后再次分配。该字段内容以空格为分隔符(至少3个空格),第1个空格前的内容分给A,第2个空格前的内容分给B,其余空格前的内容分给C。 比如字段为E = “AA BB CC DD EE FF GG ”:那么A = “AA”, B = “BB”,C = “CC DD EE FF GG”。如果按常规理解,那么用循环语句来获取,但是我并不想这样用,因为C#中有Split()方法。可是,在我用时还是遇到点问题,就是动态字段的空格很难控制,那么分给C的内容也不能很好地取到。怎么办,问了一些高手,也是说用循环语句来获取比较好,可我就是不想多写几行代码,既然有Split()方法,那么为何弃之不用?我继续在Split()方面深入研究,花了不少时间,总算弄出来了。事后想想,有点价值,便把代码放上来,自己忘记时可看看。代码如下: string E = " AA BB CC DD EE FF GG "; string X = " "; string[] S = E.Split(X.ToCharArray(),3); string A = S[0]; //(“AA”) string B = S[1]; //(“BB”) string C = S[2]; //(“CC DD EE FF GG”)
string str ="0|1|2|3|";
str.split('|')
敲到这里的时候看清楚后面的参数说明
如果多个可以按上 按下 看看
C#是强类型语言 所以类型一定要对上char 只能存一个字符 你怎么把多个字符存进去 '\r\n' 其他的 参考各楼上的
一种方法:
string s = "abcdeabcdeabcde";
string[] sArray = s.Split('c');
foreach (string i in sArray)
Console.WriteLine(i.ToString());
Console.ReadKey();输出下面的结果:
ab
deab
deab
de
第二种方法:
我们看到了结果是以一个指定的字符进行的分割。使用另一种构造方法对多个字符进行分割:string s="abcdeabcdeabcde";
string[] sArray1=s.Split(new char[3]...{'c','d','e'}) ;
foreach(string i in sArray1)
Console.WriteLine(i.ToString());可以输出下面的结果:
ab
ab
ab第三种方法:
除了以上的这两种方法以外,第三种方法是使用正则表达式。新建一个控制台项目。然后先添加引用:
using System.Text.RegularExpressions;string content = "agcyongfa365macyongfa365gggyongfa365ytx";
string[] resultString = Regex.Split(content, "yongfa365", RegexOptions.IgnoreCase);
foreach (string i in resultString)
Console.WriteLine(i.ToString());
Console.ReadKey();输出下面的结果:
agc
mac
ggg
ytx
第四种方法:
string str1 = "我*****是*****一*****个*****教*****师";
string[] str2;
str1 = str1.Replace("*****", "*");
str2 = str1.Split('*');
foreach (string i in str2)
Console.Write(i.ToString());
Console.ReadKey();一般用的最多的是:str.Replace("\r\n","\r").Split('\r')
第五种方法:
string str1="我**是*****一*****个*****教*****师";
我希望显示的结果为:我是一个教师。
我如果采用上面的第四种方法来做就会产生下面的错误:我 是一个教师。中间有空格输出,所以输出结果并不是希望的结果,这就又回到了正则表达式了,这时可以采用下面的第五种方法: string str1 = "我**是*****一*****个*****教*****师";
string[] str2 = System.Text.RegularExpressions.Regex.Split(str1, @"\*+");
foreach (string i in str2)
Console.Write(i.ToString());
Console.ReadKey();
从数据库表中取出某一字段的值,然后再次分配。该字段内容以空格为分隔符(至少3个空格),第1个空格前的内容分给A,第2个空格前的内容分给B,其余空格前的内容分给C。
比如字段为E = “AA BB CC DD EE FF GG ”:那么A = “AA”, B = “BB”,C = “CC DD EE FF GG”。如果按常规理解,那么用循环语句来获取,但是我并不想这样用,因为C#中有Split()方法。可是,在我用时还是遇到点问题,就是动态字段的空格很难控制,那么分给C的内容也不能很好地取到。怎么办,问了一些高手,也是说用循环语句来获取比较好,可我就是不想多写几行代码,既然有Split()方法,那么为何弃之不用?我继续在Split()方面深入研究,花了不少时间,总算弄出来了。事后想想,有点价值,便把代码放上来,自己忘记时可看看。代码如下:
string E = " AA BB CC DD EE FF GG ";
string X = " ";
string[] S = E.Split(X.ToCharArray(),3);
string A = S[0]; //(“AA”)
string B = S[1]; //(“BB”)
string C = S[2]; //(“CC DD EE FF GG”)