原文发布时间为: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. 使用Maven开发一个简单的SpringData

    1:创建Maven项目 2:添加依赖(修改pom.xml为以下代码) <project xmlns="http://maven.apache.org/POM/4.0.0" x ...

  2. Node 操作MySql数据库

    1, 需要安装 MySQL 依赖 =>  npm i mysql -D 2, 封装一个工具类 mysql-util.js // 引入 mysql 数据库连接依赖 const mysql = re ...

  3. python各种操作列表的方法及案例

    一.循环的使用方法 names = ["张真","刘德华","哈林","谢霆锋","张柏芝"] fo ...

  4. 三次样条插值matlab实现

    三次样条插值matlab实现 %三次样条差值-matlab通用程序 - zhangxiaolu2015的专栏 - CSDN博客 https://blog.csdn.net/zhangxiaolu201 ...

  5. ACM二分搜索中的最大化最小值 总结

    这类题目都有个相似的地方就是需要你去找一个临界点. 分析题目要你求什么,例如时间 那么mid就是时间 看求得这个跟什么相关 例如 poj 3258 求得是距离 这个距离跟两者之间的差相关 那题目要求你 ...

  6. [BZOJ3684][拉格朗日反演+多项式求幂]大朋友和多叉树

    题面 Description 我们的大朋友很喜欢计算机科学,而且尤其喜欢多叉树.对于一棵带有正整数点权的有根多叉树,如果它满足这样的性质,我们的大朋友就会将其称作神犇的:点权为\(1\)的结点是叶子结 ...

  7. Linux命令之---diff

    命令介绍 diff命令可以酌行比较纯文本文件内的内容,并输出文件的差异. 命令格式 diff [option] [file1] [file2] 举例子 1)比较俩文本文件 [root@king ~]# ...

  8. Kubernetes配置Ceph RBD StorageClass

    1. 在Ceph上为Kubernetes创建一个存储池 # ceph osd pool create k8s 2. 创建k8s用户 # ceph auth get-or-create client.k ...

  9. eclipse 插件,直接打开文件路径

    https://github.com/samsonw/OpenExplorer/downloads 22k的小插件,意义却重大.下载之后,放到plugins里面.

  10. hive操作语句

    设置属性: //设置本地执行作set hive.exec.mode.local.auto=true; //设置动态分区 set hive.exec.dynamic.partition=true; se ...