- ベストアンサー
特定文字列の抽出方法について
- VB6の質問です。桁数、データが不定の文字列中から特定文字を抽出する方法を教えていただけますか?Mid, Left, Right関数が使用できないため、抽出したいデータの桁数が毎回不定です。
- 例えば、変数Bufferから、桁数を考慮しないで"TARGET"の文字列を抽出したいです。InStr関数で位置を特定し、Mid関数などで抽出する方法が理想ですが、どんな桁数のときでも対応できるようにルーチン化できないでしょうか?
- 質問内容はVB6で不定桁数の文字列中から特定文字を抽出する方法についてです。Mid, Left, Right関数が使用できないため、どんな桁数のときでも対応できるルーチン化の方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> 例えば、変数Bufferから、桁数を考慮しないで"TARGET"の文字列を抽出したのです。 なさりたいことをもう少し詳しく教えてくださいね。 欲しいのは"TARGET"ですか?それとも"TARGET"を取り除いた残りの部分ですか? 前者なら、instrでも用いて"TARGET"が含まれる場合に文字定数"TARGET"を返せばおしまい。 後者なら、 Buffer = "A12345...B678910.TARGET..C" 'わざと2行にしましたが、一行でも可能 Buffer = join(split(Buffer, "TARGET")) ’一行なら下記のとおり ’Buffer = join(split("A12345...B678910.TARGET..C", "TARGET")) ’"TARGET"を"SOURCE"に置き換えることも簡単 ’Buffer = join(split("A12345...B678910.TARGET..C", "SOURCE"))
その他の回答 (1)
- bin-chan
- ベストアンサー率33% (1403/4213)
#1です。すみません、訂正させてください。 join関数の引数が必要でした。 Buffer = "A12345...B678910.TARGET..C" 'わざと2行にしましたが、一行でも可能 Buffer = join(split(Buffer, "TARGET"), "") ’一行なら下記のとおり ’Buffer = join(split("A12345...B678910.TARGET..C", "TARGET"), "") ’"TARGET"を"SOURCE"に置き換えることも簡単 ’Buffer = join(split("A12345...B678910.TARGET..C", "TARGET"), "SOURCE")