• ベストアンサー

文字列の()以外の取得について。

string型の値に、"××××(○○○○)"という文が入ってたとして これの、××××の部分だけ取り出す事はできますか? 条件として ×も、○も、文字数は変動します。 ()も文字として含まれています。 できるか、出来ないかだけでも結構ですので、 暇な方お返事ください。

質問者が選んだベストアンサー

  • ベストアンサー
  • ykymtkt
  • ベストアンサー率51% (14/27)
回答No.2

Instr関数とLeft関数を組み合わせて使いましょう。 Instrで"("が出現する位置を取り出し、それより左をLeft関数で取り出します。 strText1 = "×××(○○○)" strText2 = Left(strText1, InStr(strText1, "(") - 1) これで strText2 に "×××" が取り出せます。

mutuzi
質問者

お礼

的確な答えどうもありがとうございます。 leftで文字列を取るのはわかったのですが、 どうやって"("が何個目にあるのか探しかたがわかりませんでした。 これからやってみます。 返答どうもありがとうございました。

その他の回答 (1)

  • honiyon
  • ベストアンサー率37% (331/872)
回答No.1

こんにちは、honiyonです。  ()も文字として含まれているという事は、   ××(×)××(●●(●●●)   なんていうケースもあるという事でしょうか?  だとすれば無理です。 何らかの法則性が必要です。  例えば、()を文字として使用する場合は必ず全角にするとか。  参考になれば幸いです(..

mutuzi
質問者

お礼

わざわざどうもありがとうございます。 今回は、×××(○○○)という型のみの話でした。 でも、上のような、法則の無いケースでは出来ないということをこれからの参考にさせてもらいます。 返答どうもありがとうございました。

関連するQ&A