- ベストアンサー
データの抽出のやり方
下記のようなカンマで区切られたデータが何万件も入っています。 26,26001,奈良県奈良市●×町~,~ 26,26002,奈良県△△市●×町~,~ 27,27004,和歌山県×△市△×町~,~ 別のテキストにそれぞれの”~市”までvbで書き出すにはどのように記述したらよいのか教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
一番簡単なやり方です。 テキストボックスとコマンドボタンを一個ずつフォームに配置してあります。テキストボックスに「ああああ市いい.ううう」とでも打ち込んでおいて下さい。 Private Sub Command1_Click() MsgBox Left(Text1.Text, InStr(Text1.Text, "市")) End Sub 他には正規表現を使うやり方があります。 「vb 正規表現」で検索エンジンで検索してみて下さい。
その他の回答 (3)
- popesyu
- ベストアンサー率36% (1782/4883)
郵便番号で管理させた方が楽でじゃないですかね。 CSVならそのままエクセルで開けますので(ただ件数の上限が65535、実用するにはには数万ですので、分割して開く必要がありますが)そこで郵便番号変換アドインを使って、一度に郵便番号を書き出してしまえば楽じゃないかと。
- kakusuke
- ベストアンサー率36% (95/259)
> 面倒でも住所データなどのマスタと照合しながら取得することが望ましいです。 ↑↑↑↑↑↑↑↑↑ この意見に賛成です。 個人的には、 郵便番号をデータに持っておくほうが 手っ取り早いと思いますが。
- Bonjin
- ベストアンサー率43% (418/971)
#1の方のやり方だと「市川市」や「四日市市」などでデータがおかしくなります。 また逆から「市」という字を調べていっても横浜市の「市が尾町」などでおかしくなります。 面倒でも住所データなどのマスタと照合しながら取得することが望ましいです。 または、「市」が2つ以上ある場合は別ファイルに出力し、手作業で分けるという方法もあります。 一度、「市」が2つ以上ある行を調べてみて出現率を出してみてはいかがでしょう?
お礼
おっしゃるとおりなんです。が…、 一応、近畿だけなので先に四日市市みたいに『市』が2つでてくるようなものは、別にしておくので大丈夫なんです。 ありがとうございます。
お礼
ありがとうございました。 大変助かりました。