Split
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!".
関連項目
-
Join 関数