《拓文asp.net网站内容管理系统》官方演示站。
 设为首页  
 收藏本站
 作者:黄振安
 QQ:53854651
首 页 开源拓文.NET编程网站编程网页设计图形图像数据库软件工程留言本
    站内搜索:  
您现在的位置: 拓文网络 → .NET编程 → ASP.NET → c#中分割字符串的几种方法(split)[正文]

热 门 文 章

相 关 文 章
  • C#常用函数和方法集汇总
  • C#调用父类的父类的方法
  • 计算俩个时间之间隔多少月
  • 批量字符串替换程序-1
  • 批量字符串替换程序-2
  • C#中利用SharpZipLib进行文件的压缩和解压缩
  • C#快速排序类
  • c#学习体会:使用 ref 和 out 传递数组
  • C#.NET 中的类型转换
  • 如何通过一个图片的URL得到该图片的尺寸大小?
  • c#中分割字符串的几种方法(split)
     
    [作者:不详    转贴自:不详    点击数:    更新时间:2006-3-3 15:09:55]

    第一种方法:打开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());

     

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


    首页 | 1 | 尾页  共 1 页
     
    winner 打印本页 关闭窗口

         文 章 评 论
    评论人 查看该文章的评论 发表时间
       笔 名* : 0 50分 60分 70分 80分 90分 100分
    评论内容 *: (最多1000字。当前字数:0)


    没有相关评论,欢迎您参与!

    - 关于本站 - 网站帮助 - 下载声明 - 友情连接 - 网站地图 -
    Copyright © 2005-2006 myTopWin.Com. All Rights Reserved . [桂ICP备06004496号]