SPLIT( ) 関数
文字列のうちの指定された部分を返します。
構文
SPLIT(文字列, 区切り文字, セグメント <,テキスト修飾子>)
パラメーター
名前 | 種類 | 説明 |
---|---|---|
文字列 | 文字 | セグメントを抽出する値。 |
区切り文字 | 文字 |
セグメントを区切る文字または文字列。 詳細については、区切り文字の動作を参照してください。 |
セグメント | 数値 |
抽出するセグメント。 抽出するセグメントを指定するには、番号を使用します。たとえば、3 番目のセグメントを抽出するには、「3」を指定します。 |
テキスト修飾子
省略可能 |
文字 |
テキストのセグメントの開始位置と終了位置を示す文字または文字列。 テキスト修飾子のペアの内部に出現する区切り文字は、区切り文字でなくテキストとして読み取られます。 テキスト修飾子は引用符で囲む必要があります。一重引用符のテキスト修飾子は二重引用符で、二重引用符テキスト修飾子は一重引用符で、それぞれ囲む必要があります。 ヒント この任意のパラメーターは、区切り文字とテキスト修飾子が含まれるソース データをインポートして操作するときに役立つ場合があります。 |
出力
文字。
例
基本的な例
カンマで区切られたセグメント
"seg1" が返されます。
SPLIT("seg1,seg2,seg3", ",", 1)
"seg3" が返されます。
SPLIT("seg1,seg2,seg3", ",", 3)
"" が返されます(3 番目のセグメントは空です)。
SPLIT("seg1,seg2,,seg4", ",", 3)
文字列およびスペースの区切り文字
"seg3" が返されます。
SPLIT("seg1/*seg2/*seg3", "/*", 3)
"Doe" が返されます。
SPLIT("Jane Doe", " ", 2)
区切り文字をテキスト修飾子でエスケープする
区切り文字でなくテキストとして読み取られるカンマが含まれている "Doe, Jane" が返されます。
SPLIT('"Doe, Jane","Smith, John"', ",", 1, '"')
高度な例
クレジット カード番号から数字を抽出する
SPLIT( ) 関数を使用して、クレジット カード番号からダッシュを取り除くことができます。
変数を使用してクレジット カード番号の各セグメントを取得した後、それらのセグメントを連結して別の変数に格納します。
ASSIGN seg1 = SPLIT("4150-2222-3333-4444", "-", 1) ASSIGN seg2 = SPLIT("4150-2222-3333-4444", "-", 2) ASSIGN seg3 = SPLIT("4150-2222-3333-4444", "-", 3) ASSIGN seg4 = SPLIT("4150-2222-3333-4444", "-", 4) ASSIGN ccNum = seg1 + seg2 + seg3 + seg4
ccNum の値は "4150222233334444" です。
この例は SPLIT( ) 関数について説明していますが、EXCLUDE( ) 関数を使用すると、より効率的にダッシュを取り除くことができることに留意してください。
備考
機能の仕組み
SPLIT( ) 関数は、文字データをスペースやカンマなどの区切り文字に基づいてセグメントに区切り、指定されたセグメントを返します。
SPLIT( ) の使用に適する場面
SPLIT( ) 関数は、レコードまたはフィールドからデータの特定のセグメントを抽出する場合に使用できます。このセグメントは、個々のレコードまたはフィールドの同じ位置に存在している必要があります。
区切り文字の動作
区切り文字は、ソース文字列においてデータをセグメントとして区切ったり指定したりするものです。
多数のセグメントがある文字列では、セグメントの大部分は 2 つの区切り文字に挟まれています。これに対し、最初のセグメントの前と、最後のセグメントの後には区切り文字がありません。
例:
SPLIT("seg1,seg2,seg3", ",", 1)
ソース文字列が区切り文字で始まっている場合、その区切り文字の後のセグメントは 2 番目のセグメントとして処理されます。
"seg1" が返されます。
SPLIT("seg1,seg2,seg3", ",", 1)
大文字と小文字の区別
区切り文字またはテキスト修飾子として、大文字や小文字がある文字を指定する場合、その文字と、データ内の区切り文字やテキスト修飾子の間で、大文字と小文字の違いも一致している必要があります。
関連する関数
SPLIT( ) と SUBSTR( ) はともに、長いソース文字列からデータのセグメントを返します。
- SPLIT( ) は区切り文字を使ってセグメントを識別します。
- SUBSTR( ) は数値文字の位置を使ってセグメントを識別します。