c#中Split等分割字符串的几种方法(转)

摘要:
最近,我经常在论坛上看到许多帖子,询问如何使用拆分来拆分字符串。这里我将对拆分做一些简单的总结,希望对您有所帮助。strings=“abcdeabcdedit”;string[]sArray=s.Split('c');foreachConsole.WriteLine;输出以下结果:abdea-bdeabde我们看到结果除以指定的字符。好的,让我们使用另一种构造方法:更改为strings=“abcdeabcdedit eabcdedit estring[]sArray1=s.Split;foreachConsole.WriteLine;您可以输出以下结果:除了上述两种方法之外,第三种方法是使用正则表达式。我们可以使用以下代码:stringstr1=“I***************************************************************;字符串[]str2;str1=str1.Replace;str2=str1.Split('*');foreachConsole.WriteLine;这样,您也可以获得正确的结果。

最近经常看到论坛中许多帖子询问如何使用split来分割字符串,我这里对split做一些简单的总结,希望能够对大家有所帮助。下面介绍几种方法:

第一种方法:打开vs.net新建一个控制台项目。然后在Main()方法下输入下面的程序。

 

     string s="abcdeabcdeabcde";

       string[] sArray=s.Split('c');

       foreach(string i in sArray)

       Console.WriteLine(i.ToString());

 

        输出下面的结果:ab

                       deab

                       deab

                       de

                         

 

    我们看到了结果是以一个指定的字符进行的分割。如果我们希望使用多个字符进行分割如c,d,e如何做呢?好,我们使用另一种构造方法:

 

       更改为     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;

Main() :中更改为

 

       System.Text.RegularExpressions

      string content="agcsmallmacsmallgggsmallytx";

      string[]resultString=Regex.Split(content,"small",RegexOptions.IgnoreCase) 
       foreach(string i in resultString)
        Console.WriteLine(i.ToString());
 
        输出下面的结果:agc
                       mac
                       ggg
                       ytx
使用正则表达式有什么好处呢? 别着急,后面我们会看到它的独特之处。

下面介绍第4种方法。比如

    string str1="我*****是*****一*****个*****教*****师";

    如果我希望显示为:我是一个教师, ,如何作呢? 我们可以使用下面代码:

 

 

      string str1="我*****是*****一*****个*****教*****师;

       string[] str2;

       str1=str1.Replace("*****","*");

       str2=str1.Split('*');

      foreach(string i in str2)

       Console.WriteLine(i.ToString()); 

 

 

这样也可以得到正确结果。但是比如

    string str1="我**是*****一*****个*****教*****师";

      我希望显示的结果为:我是一个教师。

      我如果采用上面的第四种方法来做就会产生下面的错误:我   是一个教师

      中间有空格输出,所以输出结果并不是我希望的结果,如何解决呢?这就又回到了正则表达式了(这里可以看到它的功能强大之处),这时可以采用下面的第五种方法:

 

      string str1="我**是*****一*****个*****教*****师";

    string[] str2 = System.Text.RegularExpressions.Regex.Split(str1,@"[*]+");                                                        

foreach(string i in str2)

Console.WriteLine(i.ToString());

 

这里通过"[*]+" 巧妙的完成了我们的目标。

      上面介绍了c#中分割字符串的几种方法,如果大家有更好的方法欢迎与我交流:)

您可以在我的个人Blog 上留言 : http://cnblogs.com/redbb   

免责声明:文章转载自《c#中Split等分割字符串的几种方法(转)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇WebSocket详解SQLyog快捷键下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

MSSQL—字符串分离(Split函数)

前面提到了记录合并,有了合并需求肯定也会有分离需求,说到字符串分离,大家肯定会想到SPLIT函数,这个在.NET,Java和JS中都有函数,很可惜在SQL SERVER中没有,我们只能自己来写这么一个函数。 首先来分析一下怎么写这个函数,以之前合并的字符串为例,“张三,李四,王五,钱六,赵七,Tom,Amy,Joe,Leo”,现在要将此字符串按照“,”进行...

Java中将字符串用空格分割成字符串数组的split方法

官方文档链接:public String[] split(String regex) 本文以空格作为分割串。 CaseOne import java.util.Scanner; public class CaseOne { public static void main(String[] args) { Scanner sc = new Scan...

Apache POI Java读取100万行Excel性能优化:split vs indexOf+subString,谁性能好

使用Apache POI eventmodel实现一个Excel流式读取类,目标是100万行,每行46列,文件大小152MB的Excel文件能在20s读取并处理完。一开始实现的程序需要260s,离目标差太远了,使用jvisualvm分析各方法执行时间,结果如下: 可以看到,程序中的splitLine和getRowNum方法消耗了大量时间。这两个方法都特别...

js之split()和join()的用法

说明 这几天写了一个简单的vue项目,需要截取字符串,一时间想到了正则表达式,还折腾了还一会儿,最后上网查了一下,使用split()再简单不过了,也顺便回忆一下join()。可见我有多菜,哈哈,学了这么久,竟然对它们这么陌生。 split(separator,howmany) 说明:可以把某个字符串str按某个字符(separator)分割成多个字符串...

python split(),os.path.split()和os.path.splitext()函数用法

import os #os.path.join() 将分离的部分合成一个整体 filename=os.path.join('/home/ubuntu/python_coding','split_func') print filename #输出为:/home/ubuntu/python_coding/split_func #os.path.spli...

vim编辑指令(转)

跳跃指令 类似于游览器中的<前进><后退>按钮CTRL-]-> 跟着link/tag转入 (follow link/tag)CTRL-o-> 回到上一次的jump (Go back)CTRL-i-> 跳回下一个 (go forward):ju-> 显示所有的可以跳跃的地方 (print jump list)...