VBScript: 文字列を分割して配列を作成 Split()
VBScriptで文字列を(特定の区切り文字で)分割して
配列に格納する場合は、Split()関数を使用します。
デフォルトはスペース区切りでの分割ですが、
「カンマ区切り」や「タブ区切り」、「改行区切り」で分割することも可能です。
Split()関数の書式は次の通りです。
書式
Split(文字列 [, 区切り文字 [, 配列要素数 [, 比較モード]]])
「文字列」を「区切り文字」で分割した配列を返します。
「区切り文字」と「配列要素数」、「比較モード」は省略可能です。
区切り文字を省略した場合はスペース(" ")区切りになります。
「比較モード」を省略すると下表のバイナリーモードでの置換となります。
定数 | 値 | 概要 |
---|---|---|
vbBinaryCompare | 0 | 大文字小文字を区別する(バイナリーモード) |
vbTextCompare | 1 | 大文字小文字を区別しない(テキストモード) |
次のサンプルコードは文字列「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