Function Reference

StringSplit

文字列を与えられたデリミッター(区切り文字列)で分割します。

StringSplit ( "string", "delimiters" [, flag ] )

 

パラメータ

string 分割する文字列
delimiters デリミッターに使用される1文字以上の長さの文字列(大文字小文字は区別されます)
flag [オプション] StringSplitの動作を変更させます。必要な場合は複数のフラグを足し合わせてください:
  flag = 0 (デフォルト) デリミッター文字列の各文字が文字列分割位置として使用されます。
  flag = 1 デリミッター文字列全体のみが文字列分割位置として使用されます。
  flag = 2 最初の要素に総数を代入しないようにします。これによって0始まりの配列を効率的に作成できます(この場合は配列の長さを得るためにUBound()を使用する必要があります)。

 

返し値

配列が返されます。デフォルトでは最初の要素($array[0])には返された文字列の総数が、残りの要素($array[1], $array[2], etc.)には分割された文字列が代入されています。 flag = 2の場合、最初の要素に総数は代入されません。
分割位置が見つからない場合は@errorに1が代入され、文字列の個数($array[0])が1となって文字列全体が返されます($array[1])。

 

注意

デリミッターとして空文字列 "" を使用すると、各文字が配列の要素として返されます。

使用したいデリミッターが1文字でなく文字列の場合は、例を参照してください。

StringSplitはStringInStrの代わりに使用したり、配列に取り込む手段として便利です。

マクロの@CRLFを使う場合は改行するために2文字の文字列を使用してください。

 

関連

StringInStr, StringLeft, StringLen, StringLower, StringMid, StringRight, StringTrimLeft, StringTrimRight, StringUpper

 


$days = StringSplit("Sun,Mon,Tue,Wed,Thu,Fri,Sat", ",")
;$days[1] == "Sun" ... $days[7] == "Sat"

$text = "This\nline\ncontains\nC-style breaks."
$array = StringSplit($text, '\n', 1)