Regex.Split メソッド

定義

正規表現の一致で定義された位置にある部分文字列の配列に入力文字列を分割します。

オーバーロード

名前 説明
Split(String, String, RegexOptions, TimeSpan)

指定した正規表現パターンで定義された位置にある部分文字列の配列に入力文字列を分割します。 追加のパラメーターでは、一致する操作を変更するオプションと、一致するものが見つからない場合はタイムアウト間隔を指定します。

Split(String, String, RegexOptions)

指定した正規表現パターンで定義された位置にある部分文字列の配列に入力文字列を分割します。 指定したオプションによって、一致する操作が変更されます。

Split(String, Int32, Int32)

指定した最大回数だけ入力文字列を、 Regex コンストラクターで指定された正規表現によって定義された位置にある部分文字列の配列に分割します。 正規表現パターンの検索は、入力文字列内の指定した文字位置から開始します。

Split(String, String)

正規表現パターンで定義された位置にある部分文字列の配列に入力文字列を分割します。

Split(String)

入力文字列を、 Regex コンストラクターで指定された正規表現パターンによって定義された位置にある部分文字列の配列に分割します。

Split(String, Int32)

指定した最大回数だけ入力文字列を、 Regex コンストラクターで指定された正規表現によって定義された位置にある部分文字列の配列に分割します。

Split(String, String, RegexOptions, TimeSpan)

ソース:
Regex.Split.cs
ソース:
Regex.Split.cs
ソース:
Regex.Split.cs
ソース:
Regex.Split.cs
ソース:
Regex.Split.cs

指定した正規表現パターンで定義された位置にある部分文字列の配列に入力文字列を分割します。 追加のパラメーターでは、一致する操作を変更するオプションと、一致するものが見つからない場合はタイムアウト間隔を指定します。

public:
 static cli::array <System::String ^> ^ Split(System::String ^ input, System::String ^ pattern, System::Text::RegularExpressions::RegexOptions options, TimeSpan matchTimeout);
public static string[] Split(string input, string pattern, System.Text.RegularExpressions.RegexOptions options, TimeSpan matchTimeout);
static member Split : string * string * System.Text.RegularExpressions.RegexOptions * TimeSpan -> string[]
Public Shared Function Split (input As String, pattern As String, options As RegexOptions, matchTimeout As TimeSpan) As String()

パラメーター

input
String

分割する文字列。

pattern
String

照合する正規表現パターン。

options
RegexOptions

一致するオプションを提供する列挙値のビットごとの組み合わせ。

matchTimeout
TimeSpan

タイムアウト間隔、またはメソッドがタイムアウトしないことを示す InfiniteMatchTimeout

返品

String[]

文字列の配列。

例外

正規表現解析エラーが発生しました。

input または patternnull

options は、 RegexOptions 値の有効なビットごとの組み合わせではありません。 または、 matchTimeout が負、ゼロ、または約 24 日を超えています。

タイムアウトが発生しました。

注釈

静的 Split(String, String, RegexOptions, TimeSpan) メソッドは、指定された正規表現パターンを使用して Regex オブジェクトを構築し、インスタンス メソッドを呼び出 Split(String)のと同じです。

Regex.Split メソッドはSplit(Char[])メソッドに似ていますが、Regex.Split では文字列が、一連の文字ではなく正規表現によって決定される区切り記号で分割される点が異なります。 正規表現パターンにキャプチャかっこが含まれている場合、キャプチャされたテキストは結果の文字列配列に含まれます。 パターンにキャプチャかっこが含まれている場合、キャプチャされたテキストは結果の文字列配列に含まれますが、カウント制限に達したかどうかを判断するときにカウントされません。

隣接する 2 つの一致が見つかった場合は、空の文字列が配列に配置されます。

options パラメーターにRightToLeftを指定した場合、一致の検索は入力文字列の末尾から開始され、左に移動します。

matchTimeout パラメーターは、パターン マッチング メソッドがタイムアウトするまでの一致の検索を試行する期間を指定します。matchTimeoutは、メソッドが実行されるアプリケーション ドメインに対して定義されている既定のタイムアウト値をオーバーライドします。

注意 (呼び出し元)

matchTimeout パラメーターを適切な値 (2 秒など) に設定することをお勧めします。 InfiniteMatchTimeoutを指定してタイムアウトを無効にすると、正規表現エンジンのパフォーマンスが若干向上します。 ただし、タイムアウトは次の条件でのみ無効にする必要があります。

  • 正規表現によって処理される入力が既知の信頼できるソースから派生した場合、または静的テキストで構成されている場合。 これにより、ユーザーによって動的に入力されたテキストが除外されます。

  • 正規表現パターンが十分にテストされ、一致、一致しない、および近い一致が効率的に処理されるようにする場合。

  • 正規表現パターンに、近い一致を処理するときに過剰なバックトラッキングを引き起こすことがわかっている言語要素が含まれている場合。

こちらもご覧ください

適用対象

Split(String, String, RegexOptions)

ソース:
Regex.Split.cs
ソース:
Regex.Split.cs
ソース:
Regex.Split.cs
ソース:
Regex.Split.cs
ソース:
Regex.Split.cs

指定した正規表現パターンで定義された位置にある部分文字列の配列に入力文字列を分割します。 指定したオプションによって、一致する操作が変更されます。

public:
 static cli::array <System::String ^> ^ Split(System::String ^ input, System::String ^ pattern, System::Text::RegularExpressions::RegexOptions options);
public static string[] Split(string input, string pattern, System.Text.RegularExpressions.RegexOptions options);
static member Split : string * string * System.Text.RegularExpressions.RegexOptions -> string[]
Public Shared Function Split (input As String, pattern As String, options As RegexOptions) As String()

パラメーター

input
String

分割する文字列。

pattern
String

照合する正規表現パターン。

options
RegexOptions

一致するオプションを提供する列挙値のビットごとの組み合わせ。

返品

String[]

文字列の配列。

例外

正規表現解析エラーが発生しました。

input または patternnull

options は、 RegexOptions 値の有効なビットごとの組み合わせではありません。

タイムアウトが発生しました。

注釈

静的 Split(String, String, RegexOptions) メソッドは、指定された正規表現パターンを使用して Regex オブジェクトを構築し、インスタンス メソッドを呼び出 Split(String)のと同じです。

Regex.Split メソッドはSplit(Char[])メソッドに似ていますが、Regex.Split では文字列が、一連の文字ではなく正規表現によって決定される区切り記号で分割される点が異なります。 正規表現パターンにキャプチャかっこが含まれている場合、キャプチャされたテキストは結果の文字列配列に含まれます。 パターンにキャプチャかっこが含まれている場合、キャプチャされたテキストは結果の文字列配列に含まれますが、カウント制限に達したかどうかを判断するときにカウントされません。

隣接する 2 つの一致が見つかった場合は、空の文字列が配列に配置されます。

options パラメーターにRightToLeftを指定した場合、一致の検索は入力文字列の末尾から開始され、左に移動します。

注意 (呼び出し元)

このメソッドは、メソッドが呼び出されるアプリケーション ドメインの既定のタイムアウト値と等しい間隔の後にタイムアウトします。 アプリケーション ドメインに対してタイムアウト値が定義されていない場合は、メソッドのタイムアウトを妨げる InfiniteMatchTimeout値が使用されます。 パターン一致でテキストを分割するための推奨される静的メソッドは Split(String, String, RegexOptions, TimeSpan)です。これにより、タイムアウト間隔を設定できます。

こちらもご覧ください

適用対象

Split(String, Int32, Int32)

ソース:
Regex.Split.cs
ソース:
Regex.Split.cs
ソース:
Regex.Split.cs
ソース:
Regex.Split.cs
ソース:
Regex.Split.cs

指定した最大回数だけ入力文字列を、 Regex コンストラクターで指定された正規表現によって定義された位置にある部分文字列の配列に分割します。 正規表現パターンの検索は、入力文字列内の指定した文字位置から開始します。

public:
 cli::array <System::String ^> ^ Split(System::String ^ input, int count, int startat);
public string[] Split(string input, int count, int startat);
member this.Split : string * int * int -> string[]
Public Function Split (input As String, count As Integer, startat As Integer) As String()

パラメーター

input
String

分割する文字列。

count
Int32

分割を実行できる最大回数。

startat
Int32

検索を開始する入力文字列内の文字位置。

返品

String[]

文字列の配列。

例外

inputnullです。

startat が 0 より小さいか、 inputの長さより大きい値です。

タイムアウトが発生しました。

注釈

startatの詳細については、Match(String, Int32)の「解説」セクションを参照してください。

キャプチャかっこが式で使用されている場合、キャプチャされたテキストは結果の文字列配列に含まれますが、 count 制限にはカウントされません。

隣接する一致に起因する空の文字列は、一致の数が countに達したかどうかを判断するときにカウントされます。

こちらもご覧ください

適用対象

Split(String, String)

ソース:
Regex.Split.cs
ソース:
Regex.Split.cs
ソース:
Regex.Split.cs
ソース:
Regex.Split.cs
ソース:
Regex.Split.cs

正規表現パターンで定義された位置にある部分文字列の配列に入力文字列を分割します。

public:
 static cli::array <System::String ^> ^ Split(System::String ^ input, System::String ^ pattern);
public static string[] Split(string input, string pattern);
static member Split : string * string -> string[]
Public Shared Function Split (input As String, pattern As String) As String()

パラメーター

input
String

分割する文字列。

pattern
String

照合する正規表現パターン。

返品

String[]

文字列の配列。

例外

正規表現解析エラーが発生しました。

input または patternnull

タイムアウトが発生しました。

注釈

静的 Split(String, String) メソッドは、指定された正規表現パターンを使用して Regex オブジェクトを構築し、インスタンス メソッドを呼び出 Split(String)のと同じです。

Regex.Split メソッドはSplit(Char[])メソッドに似ていますが、Regex.Split では文字列が、一連の文字ではなく正規表現によって決定される区切り記号で分割される点が異なります。 正規表現パターンにキャプチャかっこが含まれている場合、キャプチャされたテキストは結果の文字列配列に含まれます。 パターンにキャプチャかっこが含まれている場合、キャプチャされたテキストは結果の文字列配列に含まれますが、カウント制限に達したかどうかを判断するときにカウントされません。

隣接する 2 つの一致が見つかった場合は、空の文字列が配列に配置されます。

注意 (呼び出し元)

このメソッドは、メソッドが呼び出されるアプリケーション ドメインの既定のタイムアウト値と等しい間隔の後にタイムアウトします。 アプリケーション ドメインに対してタイムアウト値が定義されていない場合は、メソッドのタイムアウトを妨げる InfiniteMatchTimeout値が使用されます。 パターン一致でテキストを分割するための推奨される静的メソッドは Split(String, String, RegexOptions, TimeSpan)です。これにより、タイムアウト間隔を設定できます。

こちらもご覧ください

適用対象

Split(String)

ソース:
Regex.Split.cs
ソース:
Regex.Split.cs
ソース:
Regex.Split.cs
ソース:
Regex.Split.cs
ソース:
Regex.Split.cs

入力文字列を、 Regex コンストラクターで指定された正規表現パターンによって定義された位置にある部分文字列の配列に分割します。

public:
 cli::array <System::String ^> ^ Split(System::String ^ input);
public string[] Split(string input);
member this.Split : string -> string[]
Public Function Split (input As String) As String()

パラメーター

input
String

分割する文字列。

返品

String[]

文字列の配列。

例外

inputnullです。

タイムアウトが発生しました。

注釈

Regex.Split メソッドはSplit(Char[])メソッドに似ていますが、Regex.Split では文字列が、一連の文字ではなく正規表現によって決定される区切り記号で分割される点が異なります。 文字列はできるだけ多くの回数分割されます。 一致するものが見つからない場合、戻り値には、値が元の入力文字列である 1 つの要素が含まれます。

正規表現が空の文字列と一致する場合、 Split(String) は、空の文字列区切り記号がすべての場所で見つかる可能性があるため、文字列を 1 文字の文字列の配列に分割します。

キャプチャかっこが式で使用されている場合、キャプチャされたテキストは結果の文字列配列に含まれます。

隣接する 2 つの一致が見つかった場合は、空の文字列が配列に配置されます。

こちらもご覧ください

適用対象

Split(String, Int32)

ソース:
Regex.Split.cs
ソース:
Regex.Split.cs
ソース:
Regex.Split.cs
ソース:
Regex.Split.cs
ソース:
Regex.Split.cs

指定した最大回数だけ入力文字列を、 Regex コンストラクターで指定された正規表現によって定義された位置にある部分文字列の配列に分割します。

public:
 cli::array <System::String ^> ^ Split(System::String ^ input, int count);
public string[] Split(string input, int count);
member this.Split : string * int -> string[]
Public Function Split (input As String, count As Integer) As String()

パラメーター

input
String

分割する文字列。

count
Int32

分割を実行できる最大回数。

返品

String[]

文字列の配列。

例外

inputnullです。

タイムアウトが発生しました。

注釈

Regex.Split メソッドは、Split(Char[])に似ています。 count パラメーターは、入力文字列を分割できる部分文字列の最大数を指定します。最後の文字列には、文字列の分割されていない剰余が含まれます。 count値が 0 の場合、可能な限り複数回分割する既定の動作が提供されます。

キャプチャかっこが式で使用されている場合、キャプチャされたテキストは結果の文字列配列に含まれますが、 count 制限にはカウントされません。

隣接する一致に起因する空の文字列は、一致の数が countに達したかどうかを判断するときにカウントされます。

こちらもご覧ください

適用対象