VBScript: 文字列を分割して配列を作成 Split()

VBScriptで文字列を(特定の区切り文字で)分割して 配列に格納する場合は、Split()関数を使用します。
デフォルトはスペース区切りでの分割ですが、 「カンマ区切り」や「タブ区切り」、「改行区切り」で分割することも可能です。

Split()関数の書式は次の通りです。

書式
Split(文字列 [, 区切り文字 [, 配列要素数 [, 比較モード]]])

「文字列」を「区切り文字」で分割した配列を返します。

「区切り文字」と「配列要素数」、「比較モード」は省略可能です。
区切り文字を省略した場合はスペース(" ")区切りになります。 「比較モード」を省略すると下表のバイナリーモードでの置換となります。

定数概要
vbBinaryCompare0 大文字小文字を区別する(バイナリーモード)
vbTextCompare1 大文字小文字を区別しない(テキストモード)

次のサンプルコードは文字列「a,b,c,d」をカンマ(,)で分割し、 配列の内容を表示しています。

str = "a,b,c,d"

'カンマで分割
arr = Split(str, ",")

For Each s In arr
	WScript.Echo s
Next

'実行結果
a
b
c
d

タブ区切りの場合

タブを区切り文字として分割する場合は、定数「vbTab」を区切り文字に指定します。


' タブ区切り
配列 = Split(文字列, vbTab)

改行コード区切りの場合

改行コードを区切り文字として分割する場合は、定数「vbCrLf」を区切り文字に指定します。 UTF-8等のファイルで改行コードがLFのみの場合は定数「vbLF」を指定します。

' CR + LF の場合
配列 = Split(文字列, vbCrLf)

' LFの場合
配列 = Split(文字列, vbLf)

Split()で作成した配列の要素数を取得

Split()関数で作成した配列の要素数を取得したい場合は、 Ubound()関数を使用します。

次のサンプルコードは、Split()関数、Ubound()関数、For文を使って 配列の内容を表示しています。

str = "a,b,c"

' 分割
arr = Split(str, ",")

' 配列の内容を表示
For i = 0 To UBound(arr)
	WScript.Echo arr(i)
Next

'実行結果
a
b
c
VBScript入門