Split 関数

適用先 : キャンバス アプリ デスクトップ フロー モデル駆動型アプリ Power Platform CLI

テキスト文字列をサブストリングのテーブルに分割します。

Description

Split 関数はテキスト文字列をサブストリングのテーブルに分割します。 コンマ区切りのリストや、間にスラッシュが使用されている日付、その他適切に定義された区切り記号が使用されている状況で分割を行う場合に Split を使用します。

区切り記号文字列はテキスト文字列を分割するために使用します。 区切り記号は 0、1、またはテキスト文字列全体で整合するその他の文字になります。 長さ 0 または空の文字列を使用すると、すべての文字が 1 つずつ分割されます。 一致する区切り文字は、結果に返されません。 一致する区切り文字が見つからない場合は、テキスト文字列全体が 1 つの結果として返されます。

文字列 (区切り記号なし) を再結合するには、Concat 関数を使用します。

正規表現を使用して文字列を分割するには、MatchAll 関数を使用します。

例では、Split 関数と、 First および Last 関数を一緒に使用してどのように単一の区切られたサブストリングを抽出するかを示しています。 Match 関数は多くの場合、正規表現に対してより簡潔で強力な選択肢です。

構文

Split( Text, Separator )

  • Text - 必須。 分割するテキスト。
  • Separator - 必須。 文字列の分割で使用する区切り記号。 0、1、またはそれ以上の文字を指定できます。

基本的な使用方法

計算式 内容 結果
Split( "Apples, Oranges, Bananas", "," ) コンマ区切り記号に基づき、それぞれの果物が分割されます。 分割はコンマに基づいて実行され、その後のスペースには基づきません。そのため、「Oranges」 および 「Bananas」 のように前にスペースが入ります。 次の値を含む Value 列を持つ単一列テーブル: "Apples", " Oranges", " Bananas"
TrimEnds( Split( "Apples, Oranges, Bananas", "," ) ) 前の例と同じですが、この場合は Split により生成される単一の列テーブルに対して動作している TrimEnds 関数 によってスペースが削除されています。 コンマの後にスペースを含む区切り記号 ", " を使用することもできましたが、スペースがない場合やスペースが 2 つある場合には正しく動作しませんでした。 次の値を含む Value 列を持つ単一列テーブル: "Apples", " Oranges", " Bananas"
Split( "08/28/17", "/" ) 区切り記号としてスラッシュを使用して、日付を分割します。 次の値を含む Value 列を持つ単一列テーブル: "08", "28", "17"

異なる区切り文字

Description Result
Split( "Hello, World", "," ) 区切り記号としてコンマを使用して、単語を分割します。 2 番目の結果は、コンマの直後の文字であるため、スペースで始まります。 次の値を含む Value 列を持つ単一列テーブル: "Hello", " World"
Split( "Hello, World", "o" ) 文字 "o" を区切り記号として使用して、文字列を分割します。 次の値を含む Value 列を持つ単一列テーブル: "Hell", ", W", "rld"
Split( "Hello, World", "l" ) 単一の文字 "l" を区切り記号として使用して、文字列を分割します。 Hello の 2 つの l の間には文字がないため、空白 値が返されました。 次の値を含む Value 列を持つ単一列テーブル: "He", Blank(), "o, Wor", "d"
Split( "Hello, World", "ll" ) 二重文字 "ll" を区切り記号として使用して、文字列を分割します。 次の値を含む Value 列を持つ単一列テーブル: "He", "o, World"
Split( "Hello, World", "%" ) パーセント記号を区切り記号として使用して、文字列を分割します。 この区切り記号は文字列に表示されないため、文字列全体が 1 つの結果として返されます。 次の値を含む Value 列を持つ単一列テーブル: "Hello, World"
Split( "Hello, World", "" ) 空の文字列 (ゼロ文字) を区切り記号として使用して、文字列を分割します。 これにより、文字列の各文字が分割されます。 次の値を含む Value 列を持つ単一列テーブル: "H", "e", "l", "l", "o", ",", " ", "W", "o", "r", "l", "d"

サブストリング抽出

Description Result
First( Split( Last( Split( "Bob Jones <bob.jones@contoso.com>", "<" ) ).Result, ">" ) ).Result 開始区切り文字 (<) に基づいて文字列を分割し、Last を持つ区切り文字の右側にある文字列を抽出します。 次に、計算式は、終了区切り文字 (>) に基づいてその結果を分割し、Right 区切り文字の左側の文字列を抽出します。 "bob.jones@contoso.com"
Match( "Bob Jones <bob.jones@contoso.com>", "<(?<email>.+)>" ).email 最後の例と同じ区切り記号ベースの抽出を実行しますが、Match 関数と正規表現を代わりに使用します。 "bob.jones@contoso.com"