文字列分割関数
以下のドキュメントは system.functions システムテーブルから生成されています。
alphaTokens
導入バージョン: v1.1
a-zおよびA-Zの範囲から連続するバイトの部分文字列を選択し、選択された部分文字列の配列を返します。
構文
エイリアス: splitByAlpha
引数
s— 分割する文字列。Stringmax_substrings— オプション。max_substrings > 0の場合、返される部分文字列の数はmax_substrings以下になります。それ以外の場合、関数は可能な限り多くの部分文字列を返します。Int64
戻り値
sから選択された部分文字列の配列を返します。Array(String)
例
使用例
arrayStringConcat
導入バージョン: v1.1
配列内の値の文字列表現を、指定された区切り文字で連結します。区切り文字はオプションパラメータで、デフォルトでは空文字列に設定されます。
構文
引数
arr— 連結する配列。Array(T)separator— オプション。区切り文字列。デフォルトは空文字列。const String
戻り値
連結された文字列を返します。String
例
使用例
extractAllGroupsVertical
導入バージョン: v20.5
正規表現を使用して文字列のすべてのグループにマッチし、配列の配列を返します。各配列には、入力文字列内の出現順にグループ化された各グループからのマッチング断片が含まれます。
構文
エイリアス: extractAllGroups
引数
s— 抽出元の入力文字列。StringまたはFixedStringregexp— マッチングに使用する正規表現。const Stringまたはconst FixedString
戻り値
配列の配列を返します。各内部配列には、1つのマッチからキャプチャされたグループが含まれます。各マッチは、正規表現内のキャプチャグループ(グループ1、グループ2など)に対応する要素を持つ配列を生成します。マッチが見つからない場合は、空の配列を返します。Array(Array(String))
例
使用例
ngrams
導入バージョン: v21.11
UTF-8文字列をngramsize個の文字からなるn-gramに分割します。
構文
引数
s— 入力文字列。StringまたはFixedStringngram_size— n-gramのサイズ。const UInt8/16/32/64
戻り値
n-gramの配列を返します。Array(String)
例
使用例
splitByChar
導入バージョン: v1.1
指定された1文字の定数文字列separatorで区切られた文字列を、部分文字列の配列に分割します。
セパレータが文字列の先頭または末尾に出現する場合、または連続する複数のセパレータが存在する場合、空の部分文字列が選択される可能性があります。
設定splitby_max_substrings_includes_remaining_string(デフォルト: 0)は、引数max_substrings > 0の場合に、残りの文字列を結果配列の最後の要素に含めるかどうかを制御します。
次の場合に空の部分文字列が選択される可能性があります:
- セパレータが文字列の先頭または末尾に出現する場合
- 連続する複数のセパレータが存在する場合
- 元の文字列
sが空の場合
構文
引数
separator— セパレータは1バイト文字である必要があります。Strings— 分割する文字列。Stringmax_substrings— オプション。max_substrings > 0の場合、返される配列には最大max_substrings個の部分文字列が含まれます。それ以外の場合、関数は可能な限り多くの部分文字列を返します。デフォルト値は0です。Int64
戻り値
選択された部分文字列の配列を返します。Array(String)
例
使用例
splitByNonAlpha
導入バージョン: v21.9
空白文字と句読点文字で区切られた文字列を部分文字列の配列に分割します。
設定 splitby_max_substrings_includes_remaining_string (デフォルト: 0) は、引数 max_substrings > 0 の場合に、残りの文字列を結果配列の最後の要素に含めるかどうかを制御します。
構文
引数
s— 分割する文字列。Stringmax_substrings— オプション。max_substrings > 0の場合、返される部分文字列の数はmax_substrings以下になります。それ以外の場合、関数は可能な限り多くの部分文字列を返します。デフォルト値:0。Int64
戻り値
s から抽出された部分文字列の配列を返します。Array(String)
例
使用例
splitByRegexp
導入バージョン: v21.6
指定された正規表現で区切られた文字列を部分文字列の配列に分割します。 指定された正規表現が空の場合、文字列は単一文字の配列に分割されます。 正規表現に一致するものが見つからない場合、文字列は分割されません。
次の場合に空の部分文字列が選択される可能性があります:
- 空でない正規表現の一致が文字列の先頭または末尾で発生した場合
- 空でない正規表現の一致が連続して複数存在する場合
- 元の文字列が空で、正規表現が空でない場合
設定 splitby_max_substrings_includes_remaining_string (デフォルト: 0) は、引数 max_substrings > 0 の場合に、残りの文字列が結果配列の最後の要素に含まれるかどうかを制御します。
構文
引数
regexp— 正規表現。定数。StringまたはFixedStrings— 分割する文字列。Stringmax_substrings— オプション。max_substrings > 0の場合、返される部分文字列はmax_substrings以下になります。それ以外の場合、関数は可能な限り多くの部分文字列を返します。デフォルト値:0。Int64
返される値
s の選択された部分文字列の配列を返します。Array(String)
例
使用例
空の正規表現
splitByString
導入バージョン: v1.1
複数の文字で構成される定数separatorを使用して、文字列を部分文字列の配列に分割します。
文字列separatorが空の場合、文字列sを単一文字の配列に分割します。
以下の場合、空の部分文字列が選択されることがあります:
- 空でないセパレータが文字列の先頭または末尾に出現する場合
- 空でないセパレータが連続して複数存在する場合
- 元の文字列
sが空で、セパレータが空でない場合
設定splitby_max_substrings_includes_remaining_string(デフォルト: 0)は、引数max_substrings > 0の場合に、残りの文字列を結果配列の最後の要素に含めるかどうかを制御します。
構文
引数
separator— セパレータ。Strings— 分割する文字列。Stringmax_substrings— オプション。max_substrings > 0の場合、返される部分文字列の数はmax_substrings以下になります。それ以外の場合、関数は可能な限り多くの部分文字列を返します。デフォルト値:0。Int64
戻り値
sから選択された部分文字列の配列を返しますArray(String)
例
使用例
空のセパレータ
splitByWhitespace
導入バージョン: v21.9
空白文字で区切られた文字列を部分文字列の配列に分割します。
設定 splitby_max_substrings_includes_remaining_string (デフォルト: 0) は、引数 max_substrings > 0 の場合に、残りの文字列を結果配列の最後の要素に含めるかどうかを制御します。
構文
引数
s— 分割する文字列。Stringmax_substrings— オプション。max_substrings > 0の場合、返される部分文字列の数はmax_substrings以下になります。それ以外の場合、関数は可能な限り多くの部分文字列を返します。デフォルト値:0。Int64
返り値
s から抽出された部分文字列の配列を返します。Array(String)
例
使用例
tokens
導入バージョン: v21.11
指定されたトークナイザーを使用して文字列をトークンに分割します。 デフォルトのトークナイザーは、非英数字のASCII文字を区切り文字として使用します。
splitトークナイザーの場合、トークンが接頭符号を形成しない場合、マッチング時により長い区切り文字を優先させることが望ましいでしょう。
そのためには、区切り文字を長さの降順で渡してください。
例えば、separators = ['%21', '%']の場合、文字列%21abcは['abc']としてトークン化されますが、separators = ['%', '%21']の場合は['21abc']としてトークン化されます(これはおそらく意図したものではないでしょう)。
構文
引数
value— 入力文字列。StringまたはFixedStringtokenizer— 使用するトークナイザー。有効な引数はsplitByNonAlpha、ngrams、splitByString、array、sparseGramsです。省略可能で、明示的に設定されていない場合のデフォルトはsplitByNonAlphaです。const Stringngrams— 引数tokenizerがngramsの場合のみ関連: ngramの長さを定義する省略可能なパラメータ。明示的に設定されていない場合のデフォルトは3です。const UInt8separators— 引数tokenizerがsplitの場合のみ関連: 区切り文字列を定義する省略可能なパラメータ。明示的に設定されていない場合のデフォルトは[' ']です。const Array(String)
返り値
入力文字列から得られたトークンの配列を返します。Array
例
デフォルトのトークナイザー
Ngramトークナイザー