Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

Split

指定された数の部分文字列を含む、ゼロ・ベースの 1 次元配列を返します。

Synopsis

Split(string[,delimiter[,count[,compare]]])

引数

string 部分文字列と区切り文字を含む文字列式。expression が長さゼロの文字列の場合、Split は空の配列、つまり要素もデータも含まない配列を返します。
delimiter オプション — 部分文字列の区切りを示すのに使用する文字。通常は 1 文字ですが、複数の文字からなる文字列を指定することもできます。省略した場合、スペース文字 ("") が区切り文字として使用されます。区切り文字が長さゼロの文字列の場合、式文字列全体を含む単一の要素の配列が返されます。
count オプション — 返される部分文字列数。-1 または string の部分文字列数以上の整数の場合は、すべての部分文字列が返されることを意味します。
compare オプション — 部分文字列を比較する際に使用する、比較の種類を示す数値。値については、概要を参照してください。

概要

Split 関数は、文字列を配列要素に分割します。Join 関数は、この反対の操作を行い、配列要素を文字列に結合します。

引数 compare の値は以下のとおりです。

定数 説明
vbBinaryCompare 0 バイナリ比較を実行します
vbTextCompare 1 テキスト比較を実行します

Split および For Each

Split 関数は、 For Each...Next 文の引数として直接使用することはできません。まず、Split の返り値を配列変数に割り当てる必要があります。次に、この配列変数を For Each...Next 文の group 引数として指定することができます。

以下の例は Split 関数を使用して、文字列から配列を返します。既定では、文字列の区切り文字に空白スペースが使用されます。

Dim MyString,MyArray
MyString = "Caché is fun!"
MyArray = Split(MyString)
Println MyArray(0)   ' contains "Caché".
Println MyArray(1)   ' contains "is".
Println MyArray(2)   ' contains "fun!".

以下の例は、引数 delimiter の使用法を示しています。2 文字の区切り文字を使用しています。文字列は、"aa" 区切り文字ごとに分割されます。1 文字の "a" はリテラルとして処理され、部分文字列 "aaa" の 3 番目の "a" もリテラルとして処理されます。

Dim MyString,MyArray
MyString = "Cachéaaisaaafun!"
MyArray = Split(MyString,"aa")
Println MyArray(0)   ' contains "Caché".
Println MyArray(1)   ' contains "is".
Println MyArray(2)   ' contains "afun!".

以下の例は、引数 count の使用法を示しています。指定された数の文字列 (ここでは 2) だけを配列要素に返します。この場合、文字列の一部だけが返されます。

Dim MyString, MyArray, Msg
MyString = "Caché;is;fun!"
MyArray = Split(MyString,";",2)
Println MyArray(0)   ' contains "Caché".
Println MyArray(1)   ' contains "is".
Println MyArray(2)   ' contains "".

以下の例は、引数 compare の使用法を示しています。バイナリ比較とテキスト比較の違いを示しています。バイナリ比較では、小文字の "x" だけが区切り文字と見なされ、テキスト比較では "x" と "X" の両方が区切り文字として処理されます。

Dim MyString,MyArray
MyString = "CachéXisxfun!"
MyArray = Split(MyString,"x",-1,0)
Println "Binary: ",MyArray(0)   ' contains "CachéXis".
Println "Binary: ",MyArray(1)   ' contains "fun!".
MyArray = Split(MyString,"x",-1,1)
Println "Textual: ",MyArray(0)   ' contains "Caché".
Println "Textual: ",MyArray(1)   ' contains "is".
Println "Textual: ",MyArray(2)   ' contains "fun!".

関連項目

FeedbackOpens in a new tab