もっと!REALbasic
■ このスレッドは過去ログ倉庫に格納されています
0640名称未設定
02/11/25 04:09ID:O2O1EMG4dim i, j as Integer
hoge = "a<>b<>c<>d<>e"
i = 1
do
j = InStrB(i, hoge, "<>") //"<>"という文字列が、hogeのi文字目から数えて何文字目に存在するか調べる
if j = 0 then //存在しなければ
fuga.Append MidB(hoge, i) //残り全ての文字列を配列に収めて
exit //終了
end if
fuga.Append MidB(hoge, i, j-i) //hogeのi文字目から(j-i)文字を(i〜j番目の文字を)配列に収める
i = j+2 //iを"<>"の後ろにする
loop
が一番早いかな?
テストしてないからエラー出るかも知れないけど
InStrBは引数が([Start as Integer, ]Source as String, Value as Integer)で戻り値のタイプがInteger
SourceからValueという文字列をStart文字目から検索し、それが何文字目を返す変数
その文字列が存在しないなら0を返す
関係ないけど、早くメソッドの戻り値を配列で返せるようにして欲しい
Function Split(Source as String, Separator as String) as String()
〜
End Function
を定義して上のソース入れればperlと同じように使えるように(引数の順序は逆だけど)
今はByRefで返すようにするしかないから、ローカル配列を定義しなきゃいけないくて使いづらい
JAVAはStringとString()が別のタイプなとこまでは憶えてるんだけど、こういう形で定義できたっけ?
■ このスレッドは過去ログ倉庫に格納されています