• ベストアンサー

データの抽出のやり方

下記のようなカンマで区切られたデータが何万件も入っています。 26,26001,奈良県奈良市●×町~,~ 26,26002,奈良県△△市●×町~,~ 27,27004,和歌山県×△市△×町~,~ 別のテキストにそれぞれの”~市”までvbで書き出すにはどのように記述したらよいのか教えてください。

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

  • ベストアンサー
回答No.1

一番簡単なやり方です。 テキストボックスとコマンドボタンを一個ずつフォームに配置してあります。テキストボックスに「ああああ市いい.ううう」とでも打ち込んでおいて下さい。 Private Sub Command1_Click() MsgBox Left(Text1.Text, InStr(Text1.Text, "市")) End Sub 他には正規表現を使うやり方があります。 「vb 正規表現」で検索エンジンで検索してみて下さい。

sunny65
質問者

お礼

ありがとうございました。 大変助かりました。

その他の回答 (3)

  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.4

郵便番号で管理させた方が楽でじゃないですかね。 CSVならそのままエクセルで開けますので(ただ件数の上限が65535、実用するにはには数万ですので、分割して開く必要がありますが)そこで郵便番号変換アドインを使って、一度に郵便番号を書き出してしまえば楽じゃないかと。

  • kakusuke
  • ベストアンサー率36% (95/259)
回答No.3

> 面倒でも住所データなどのマスタと照合しながら取得することが望ましいです。 ↑↑↑↑↑↑↑↑↑ この意見に賛成です。 個人的には、 郵便番号をデータに持っておくほうが 手っ取り早いと思いますが。

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.2

#1の方のやり方だと「市川市」や「四日市市」などでデータがおかしくなります。 また逆から「市」という字を調べていっても横浜市の「市が尾町」などでおかしくなります。 面倒でも住所データなどのマスタと照合しながら取得することが望ましいです。 または、「市」が2つ以上ある場合は別ファイルに出力し、手作業で分けるという方法もあります。 一度、「市」が2つ以上ある行を調べてみて出現率を出してみてはいかがでしょう?

sunny65
質問者

お礼

おっしゃるとおりなんです。が…、 一応、近畿だけなので先に四日市市みたいに『市』が2つでてくるようなものは、別にしておくので大丈夫なんです。 ありがとうございます。

関連するQ&A