zoukankan      html  css  js  c++  java
  • C#分割字符串

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

  • 相关阅读:
    tcpprep 对IPV6的支持
    the server quit without updating pid file (/var/lib/mysql/localhost.localdomain.pid)
    servlet service() for servlet jsp throws null pointer exception
    tomcat开机启动
    mysql 允许远程访问
    spring的helloworld
    java中的那些坑
    关于struts2中的相对路径与绝对路径
    Powercenter Source Filter
    oracle删除当前用户的表
  • 原文地址:https://www.cnblogs.com/3Tai/p/2544288.html
Copyright © 2011-2022 走看看