文字列を分割する よく使うサブルーチンライブラリ
str_Split.bas
str_Split.bas は、枠線を書くためのサブルーチンが集められたサブルーチンライブラリです。CR を区切り文字にして文字列を順次返す
Function sSplit(data)
‘data: 分割する文字列 :data は、内容が壊れていくのでオリジナルが必要な場合は一度変数にいれてから
使用例、
Dim buff
Dim filename
buff = str_Lastchar(TextBox1.value,chr(13) + chr(10))
filename =str_Split.sSplit(buff)
Do while buff<>""
doevents
filename =str_Split.sSplit(buff)
loop
指定した文字を区切り文字にして文字列を順次返す
Function chSplit(data, ch)
‘data: 分割する文字列 :data は、内容が壊れていくのでオリジナルが必要な場合は一度変数にいれてから
‘cr: 区切り文字
‘cr: 区切り文字
dim buff
Dim data
buff = TextBox1.Value 'buff は、破壊されるので必ずオリジナルを取り出して使用する
data =str_Split.chSplit(buff,",")
Do while buff<>""
doevents
data =str_Split.chSplit(buff,",")
loop
ダブル/シングルクォート内の区切り文字を無視して文字列を分割して順次返す
Function qtSprit(data, ch)
‘data: 分割する文字列 :data は、内容が壊れていくのでオリジナルが必要な場合は一度変数にいれてから
‘ch: 区切り文字
※ch に ” 、 ‘ を指定できません
‘ch: 区切り文字
※ch に ” 、 ‘ を指定できません
使用例、
Dim work
Dim data
work = TextBox1.Valuem 'buff は、破壊されるので必ずオリジナルを取り出して使用する
work = strSpCut.lastchar(work,",") '必ず最後はデリミッタで終わるデータを流すこと
data =str_Split.qtSprit(work,",")
Do while work<>""
doevents
data =str_Split.qtSprit(work,",")
loop
文字列を改行で区切って配列に返す
Function Split(splitstr, lines, dat() As String, Max)
‘splitstr ‘区切り文字
‘lines ‘分割する文字列
‘dim dat(10) as string ‘戻り配列 (内容は呼出し時点でクリアされます。)
‘dim max ‘配列上限
‘lines ‘分割する文字列
‘dim dat(10) as string ‘戻り配列 (内容は呼出し時点でクリアされます。)
‘dim max ‘配列上限
使用例、
dim dat(10) as string '戻り配列 (内容は呼出し時点でクリアされます。)
dim dct '件数
dim dmx '配列上限
dmx=10
'デリミッタ(<cr>:改行)、分解ストリング,戻り配列.戻り配列上限
dct=str_Split.Split(chr(13)+chr(10),buff,dat(),dmx)
= で文字列を2分割する
Function SplitEq2(buff, val1, val2)
‘buff:分割文字列
‘val1:戻り文字列
‘val2:戻り文字列
‘戻り:val1 と同じ値
‘val1:戻り文字列
‘val2:戻り文字列
‘戻り:val1 と同じ値
使用例、
Dim val1, val2
Dim c
buff = "a = b"
c = str_Split.SplitEq2(buff,val1,val2)
空白で文字列を2分割する
Function SplitEq2(buff, val1, val2)
‘buff:分割文字列
‘val1:戻り文字列
‘val2:戻り文字列
‘戻り:val1 と同じ値
‘val1:戻り文字列
‘val2:戻り文字列
‘戻り:val1 と同じ値
使用例、
Dim val1, val2
Dim c
buff = "a b"
c = str_Split.SplitEq2(buff,val1,val2)
指定文字列で文字列を2分割する
Function Split2(buff, splitstr, val1, val2)
‘buff:分割文字列
‘splitstr:区切り文字
‘val1:戻り文字列
‘val2:戻り文字列
‘戻り:val1 と同じ値
‘splitstr:区切り文字
‘val1:戻り文字列
‘val2:戻り文字列
‘戻り:val1 と同じ値
使用例、
Dim val1, val2
Dim c
buff = "a b"
c = str_Split.Split2(buff,"=",val1,val2)