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,    //指定單行模式。更改點 (.) 的含義,使它與每一個字符匹配(而不是與除 \n 之外的每個字符匹配)。
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    //指定忽略語言中的區域性差異。
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM