• C#中Split分隔字符串的应用(C#、split、分隔、字符串)


    1、用字符串分隔:

    using System.Text.RegularExpressions;
    string str="aaajsbbbjsccc";
    string[] sArray=Regex.Split(str,"js",RegexOptions.IgnoreCase);
    foreach (string i in sArray) Response.Write(i.ToString() + "<br>"); 

     输出结果:
    aaa
    bbb
    ccc
     

    2、用多个字符来分隔:

    string str="aaajbbbscccjdddseee";

    string[] sArray=str.Split(new char[2]{'j','s'}); 
    foreach(string i in sArray) Response.Write(i.ToString() + "<br>");  


     输出结果:
    aaa
    bbb
    ccc
    ddd
    eee
     
    3、用单个字符来分隔:

    string str="aaajbbbjccc";
    string[] sArray=str.Split('j');
    foreach(string i in sArray) Response.Write(i.ToString() + "<br>")


      输出结果:
    aaa
    bbb

       ccc

      在创建Regex类的实例时,构造函数的重载中有一个要求传入RegexOptions的一个枚举值,我相信这个枚举一定非常有用,否则不会要求在构造函数中传入。今天就来看一看这个枚举的作用。

      我们干脆把代码敲出来看一看:

    None = 0,         //指定不设置选项。
    IgnoreCase = 1,     //指定不区分大小写的匹配。
    Multiline = 2,          //多行模式。更改 ^ 和 $ 的含义,使它们分别在任意一行的行首和行尾匹配,而不仅仅在整个字符串的开头和结尾匹配。
    ExplicitCapture = 4,    //指定有效的捕获仅为形式为 (?<name>...) 的显式命名或编号的组。这使未命名的圆括号可以充当非捕获组,并且不会使表达式的语法 (?:...)显得笨拙。
    Compiled = 8,       //指定将正则表达式编译为程序集。这会产生更快的执行速度,但会增加启动时间。在调用 System.Text.RegularExpressions.Regex.CompileToAssembly(System.Text.RegularExpressions.RegexCompilationInfo[],System.Reflection.AssemblyName)方法时,不应将此值分配给属性。
    Singleline = 16,    //指定单行模式。更改点 (.) 的含义,使它与每一个字符匹配(而不是与除 
     之外的每个字符匹配)。
    IgnorePatternWhitespace = 32 //消除模式中的非转义空白并启用由 # 标记的注释。但是,System.Text.RegularExpressions.RegexOptions.IgnorePatternWhitespace值不会影            响或消除字符类中的空白。
    RightToLeft = 64  //指定搜索从右向左而不是从左向右进行。
    ECMAScript = 256,   //为表达式启用符合 ECMAScript 的行为。该值只能与 System.Text.RegularExpressions.RegexOptions.IgnoreCase、System.Text.RegularExpressions.RegexOptions.Multiline 和 System.Text.RegularExpressions.RegexOptions.Compiled 值一起使用。该值与其他任何值一起使用均将导致异常。
    CultureInvariant = 512    //指定忽略语言中的区域性差异。
     
  • 相关阅读:
    极光推送消息——Alias别称方式(Andirod)
    引用极光jar包之后出现控制台日志打印不出来的问题。解决!
    极光推送消息——RegistrationID方式
    Educational Codeforces Round 79 D
    解决报错:ERROR 1005 (HY000): Can't create table 'market.orders' (errno: 150)
    ansible笔记(13):变量(二)
    ansible笔记(12):变量(一)
    zabbix4.2配置邮件+脚本报警:以QQ邮箱为例
    解决mailx发邮件报错:esmtp-server: 504 5.7.4 Unrecognized authentication type [HK2PR02CA0167.apcprd02.prod.outlook.com] "/root/dead.letter" 11/302 . . . message not sent.
    ansible笔记(11):tags的用法
  • 原文地址:https://www.cnblogs.com/canfengfeixue/p/8269263.html
Copyright © 2020-2023  润新知