〜 テキスト 〜
テキストを特定の文字または文字列毎に分割

紹介しているサンプルモジュールは、HSP2まで存在していたユーザー定義命令の制約により、
HSP2用に移植できないためHSP3用とさせていただきます。
また、HSP3.2からは標準命令としてsplit命令が追加されましたので、
利用価値はあまりないサンプルかもしれません。
変数と文字列パラメータは、ユーザー定義命令の第1または第2引数に限定されているので、
ユーザー定義命令を「分割対象変数・区切りテキスト」と「設定先配列変数」の2つに分割したり、
分割対象変数と格納先変数を同一にする少々トリッキーなやり方をすれば実現できないことはありません。
HSP2でも使いたい場合は、下記を参考に自分なりに組み替えてみてください。
分割に成功すると、分割数がstatに返ります。
HSP2でもHSP3でも、同様の使い方が出来る分割命令はコチラのサンプルを参照してください。
但し、同様の使い方を実現する為に、区切りに指定するのはは半角文字の文字コード(数値)となっています。
尚、配列に分割した複数のテキストデータを1つにまとめるにはコチラのサンプルを参考にしてください。
	
split2 格納配列, 対象変数, デリミタ
格納配列分割結果を受け取る文字列型配列変数を指定する。
対象変数分割対象の文字列型変数を指定する。
デリミタ文字または文字列による区切りテキストを指定する。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
#module
#deffunc split2 array ary, var string, str kugiri, local i
	repeat
		if instr(string, i, kugiri) = -1 {
			ary.cnt = strmid(string, i, strlen(string) - i)
		} else {
			ary.cnt = strmid(string, i, instr(string, i, kugiri))
		}
		i += strlen(ary.cnt) + strlen(kugiri)
		if i >= strlen(string) : i = cnt + 1 : break
	loop
	return i
#global

	sdim list, 16, 3
	data = "apple/orange/grape"
	split2 list, data, "/" // 全角スラッシュを区切り文字列として分割
	mes "分割数:" + stat
	foreach list
		mes "" + cnt + ". [" + list.cnt + "]"
	loop