strsplit

文字列を分割する。

形式

strsplit <strval> <separator> [<count>]

解説

文字列 <strval> から、区切り記号 <separator> で区切られた部分文字列を取り出して、システム変数 groupmatchstr1 〜 groupmatchstr9 に返す。

<separator> には区切り記号として扱う文字を1文字だけ指定する。

<count> には、取得する部分文字列の最大数(9以下)を指定する。
文字列中の部分文字列の数が <count> 未満であるとき、部分文字列が代入されなかった groupmatchstr には、""(空文字列) が代入される。
文字列中の部分文字列の数が <count> を超えるとき、最後の groupmatchstr には残りの文字列がすべて代入される。

<count> が省略された場合には、部分文字列の最大数は 9 とみなされる。
文字列中の部分文字列の数が 9 を超えるとき、<count> を指定した場合とは違い 9 番目の部分文字列のみが代入される。

実際に分割された個数をシステム変数 result に格納する。
<count> が省略され、文字列中の部分文字列の数が 9 を超えるときは、システム変数 result に 10 を格納する。

src=',,Sun,Mon,Tue,,Thu,Fri,Sat'
strsplit src ',' 7

messagebox groupmatchstr1 "groupmatchstr1" ; ''
messagebox groupmatchstr2 "groupmatchstr2" ; ''
messagebox groupmatchstr3 "groupmatchstr3" ; 'Sun'
messagebox groupmatchstr4 "groupmatchstr4" ; 'Mon'
messagebox groupmatchstr5 "groupmatchstr5" ; 'Tue'
messagebox groupmatchstr6 "groupmatchstr6" ; ''
messagebox groupmatchstr7 "groupmatchstr7" ; 'Thu,Fri,Sat'
messagebox groupmatchstr8 "groupmatchstr8" ; ''
messagebox groupmatchstr9 "groupmatchstr9" ; ''
messagebox result         "result"         ; 7

src='Sun,Mon,Tue,Wed,Thu,Fri,Sat'
strsplit src ',' 7

messagebox groupmatchstr1 "groupmatchstr1" ; 'Sun'
messagebox groupmatchstr2 "groupmatchstr2" ; 'Mon'
messagebox groupmatchstr3 "groupmatchstr3" ; 'Tue'
messagebox groupmatchstr4 "groupmatchstr4" ; 'Wed'
messagebox groupmatchstr5 "groupmatchstr5" ; 'Thu'
messagebox groupmatchstr6 "groupmatchstr6" ; 'Fri'
messagebox groupmatchstr7 "groupmatchstr7" ; 'Sat'
messagebox groupmatchstr8 "groupmatchstr8" ; ''
messagebox groupmatchstr9 "groupmatchstr9" ; ''
messagebox result         "result"         ; 7

src='A string'#10'of ,,tokens'#10'and some  more tokens'
strsplit src '\n' 9

messagebox groupmatchstr1 "groupmatchstr1" ; 'A string'
messagebox groupmatchstr2 "groupmatchstr2" ; 'of ,,tokens'
messagebox groupmatchstr3 "groupmatchstr3" ; 'and some  more tokens'
messagebox groupmatchstr4 "groupmatchstr4" ; ''
messagebox groupmatchstr5 "groupmatchstr5" ; ''
messagebox groupmatchstr6 "groupmatchstr6" ; ''
messagebox groupmatchstr7 "groupmatchstr7" ; ''
messagebox groupmatchstr8 "groupmatchstr8" ; ''
messagebox groupmatchstr9 "groupmatchstr9" ; ''
messagebox result         "result"         ; 3

src='1,2,3,4,5,6,7,8,9,0'
strsplit src ','

messagebox groupmatchstr1 "groupmatchstr1" ; '1'
messagebox groupmatchstr2 "groupmatchstr2" ; '2'
messagebox groupmatchstr3 "groupmatchstr3" ; '3'
messagebox groupmatchstr4 "groupmatchstr4" ; '4'
messagebox groupmatchstr5 "groupmatchstr5" ; '5'
messagebox groupmatchstr6 "groupmatchstr6" ; '6'
messagebox groupmatchstr7 "groupmatchstr7" ; '7'
messagebox groupmatchstr8 "groupmatchstr8" ; '8'
messagebox groupmatchstr9 "groupmatchstr9" ; '9'
messagebox result         "result"         ; 10

参照