1は、文字列で区切ら:
System.Text.RegularExpressionsを使用しました。 文字列str = "aaajsbbbjsccc"。 文字列[] sArray = Regex.Split(STR、 "JS"、RegexOptions.IgnoreCase)。 foreachの(sArray内の文字列I)のResponse.Write(i.ToString()+ "<BR>");
出力:
AAA
BBB
CCC
図2に示すように、複数の文字で区切られました:
文字列str = "aaajbbbscccjdddseee"。
文字列[] sArray = str.Split(新しい文字[2] { 'J'、 'S'})。 foreachの(sArray内の文字列I)のResponse.Write(i.ToString()+ "<BR>");
出力結果:
AAA
BBB
CCC
DDD
のEee
3、分離するために、単一の文字。:
文字列str = "aaajbbbjccc"。 文字列[] sArray = str.Split( 'J')。 foreachの(sArray内の文字列I)のResponse.Write(i.ToString()+ "<BR>")
出力:
AAAの
BBB
CCC
正規表現クラスのインスタンスを作成する場合は、オーバーロードされたコンストラクタが列挙値RegexOptionsを渡す必要がある、私は、これはそれがコンストラクタに渡されたシークません列挙することは非常に有用であろうと信じています。今日、私たちは、列挙の役割を見てみましょう。
私たちは、単にコードをノックアウトする見て:
なし= 0、//は、セットアップオプションを指定しないでください。 = 1 IGNORECASE、//指定された小文字を区別しないマッチング。 複数行= 2、//複数行モード。彼らはラインのライン開始し、任意の行のそれぞれの端部だけでなく、試合の開始時と終了時に、文字列全体に一致するように、^と$の意味を変更します。 ExplicitCapture = 4、//フォームのみ有効なキャプチャを指定する(?<名前> ...)グループは、明示的に名前付きまたは番号。これは無名の括弧は非キャプチャグループとして動作させることができ、そして表現の構文ではない(?:...)が不器用です。 コンパイルされたアセンブリにコンパイル= 8、//指定された正規表現。これは、より高速な実行になりますが、起動時間が長くなります。System.Text.RegularExpressions.Regex.CompileToAssembly(System.Text.RegularExpressions.RegexCompilationInfo []、System.Reflection.AssemblyName)メソッドを呼び出すとき、この値は、属性に割り当てられるべきです。 単一行= 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 //言語での地域差を無視して指定します。
正規表現クラスのインスタンスを作成する場合は、オーバーロードされたコンストラクタが列挙値RegexOptionsを渡す必要がある、私は、これはそれがコンストラクタに渡されたシークません列挙することは非常に有用であろうと信じています。今日、私たちは、列挙の役割を見てみましょう。
私たちは、単にコードをノックアウトする見て:
なし= 0、//は、セットアップオプションを指定しないでください。 = 1 IGNORECASE、//指定された小文字を区別しないマッチング。 複数行= 2、//複数行モード。彼らはラインのライン開始し、任意の行のそれぞれの端部だけでなく、試合の開始時と終了時に、文字列全体に一致するように、^と$の意味を変更します。 ExplicitCapture = 4、//フォームのみ有効なキャプチャを指定する(?<名前> ...)グループは、明示的に名前付きまたは番号。これは無名の括弧は非キャプチャグループとして動作させることができ、そして表現の構文ではない(?:...)が不器用です。 コンパイルされたアセンブリにコンパイル= 8、//指定された正規表現。これは、より高速な実行になりますが、起動時間が長くなります。System.Text.RegularExpressions.Regex.CompileToAssembly(System.Text.RegularExpressions.RegexCompilationInfo []、System.Reflection.AssemblyName)メソッドを呼び出すとき、この値は、属性に割り当てられるべきです。 単一行= 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 //言語での地域差を無視して指定します。