原文发布时间为:2009-03-07 —— 来源于本人的百度文章 [由搬家工具导入]

最近发现很多人在问在c#中使用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#使用Split分割字符串的几种方法的更多相关文章

  1. C#中使用split分割字符串的几种方法小结

    1.用字符串分隔: using System.Text.RegularExpressions;string str="aaajsbbbjsccc";string[] sArray= ...

  2. asp.net分割字符串的几种方法

    在编写程序中,经常要用到分割的方法来处理一些字符串.这里总结了几种常用的分割方法:  1.最简单最常用的方法,以一个指定的字符进行的分割 string s="abcdeabcdeabcde& ...

  3. Replace是替代 Split分割字符串

    Replace是替代 Split分割字符串string[] ReadText = str.Replace("\r\n", "@").Split('@'); Sp ...

  4. C# Split的用法,Split分割字符串

    C# Split的用法,Split分割字符串 分割单个字串:string str="来自张三的亲切问候!;string[] strarry=str.Split(new string[] { ...

  5. C#的String.Split 分割字符串用法详解的代码

    代码期间,把代码过程经常用的内容做个珍藏,下边代码是关于C#的String.Split 分割字符串用法详解的代码,应该对码农们有些用途. 1) public string[] Split(params ...

  6. java关于split分割字符串,空的字符串不能得到的问题

    java关于split分割字符串,空的字符串不能得到的问题   class T { public static void main(String args[]) { String num[] = ne ...

  7. 在PHP代码中处理JSON 格式的字符串的两种方法:

    总结: 在PHP代码中处理JSON 格式的字符串的两种方法: 方法一: $json= '[{"id":"1","name":"\u ...

  8. Java List转换为字符串的几种方法

    Java List转换为字符串的几种方法 import org.apache.commons.lang3.StringUtils; import java.util.ArrayList; import ...

  9. python—字符串拼接三种方法

    python—字符串拼接三种方法   1.使用加号(+)号进行拼接 字符串拼接直接进行相加就可以,比较容易理解,但是一定要记得,变量直接相加,不是变量就要用引号引起来,不然会出错,另外数字是要转换为字 ...

随机推荐

  1. centos 7 安装以及ip配置

    1.安装: root 200M: swap 内存的2倍,如果内存超过4g,最大设为8g就够了: / 剩余: 2.ip配置 (1)动态配置:dhclient ip add (2)静态配置:vi /etc ...

  2. day03_基本数据类型基本运算

    1.什么是数据类型 变量值才是我们存储的数据,所以数据类指的就是变量值的不同种类 2.为何数据要分类型? 变量值是用来保存现实世界中的状态的,那么针对不同的状态就应该用不同类型的数据去表示 3.如何用 ...

  3. IE支持直接查看Json数据注册表代码

    Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/json] ...

  4. mysql 5.7初始化默认密码错误

    下载了一个mysql 5.7.17的安装包后,安装后怎么都启动不了,好在mysql安装是成功了,没办法只有使用命令行重新初始化设置了 我的mysql安装根目录为:C:\Program Files\My ...

  5. 库函数的使用:sscanf的使用方法

    先贴代码,可以看懂代码的直接看代码: /***************************************************** ** Name : sscanf.c ** Auth ...

  6. 笔记-数据库-redis

    笔记-数据库-redis 1.      redis简介 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 它支持多种类型的数据结构,如 stri ...

  7. Android Kotlin适用小函数

    都是一些Android适用的Kotlin小函数. 1.点击空白隐藏键盘 //点击空白隐藏键盘 override fun onTouchEvent(event: MotionEvent): Boolea ...

  8. TCP/IP网络编程之基于TCP的服务端/客户端(一)

    理解TCP和UDP 根据数据传输方式的不同,基于网络协议的套接字一般分为TCP套接字和UDP套接字.因为TCP套接字是面向连接的,因此又称为基于流(stream)的套接字.TCP是Transmissi ...

  9. border-color与color

    1.border-color就是color,即border-color的默认颜色就是color 当没有指定border-color的时候,会使用color作为边框的颜色! 类似的还有text-shad ...

  10. 分布式存储系统可靠性系列五:副本放置算法 & CopySet Replication

    本文来自网易云社区 作者:孙建良 在分布式存储系统 中说明了,在一定情况下,copyset的数量不是越多越好,在恢复时间确定的情况下,找到合适的copyset的数量可以降低数据丢失的概率. 在分布式存 ...