過去の桐井戸端BBS (桐ver.8)
19731 住所の町域名と番地番号を分けたい TS 2003/04/04-23:08
いつもお世話になっております。桐V8で初心者です。
住所文字列の一部取り出し方法について悩んでいます。

次のような住所の表示で、アラビア数字(0〜9)
又は漢数字(一〜十)の前までを
関数等を使い上手く取り出したいのです。

(例)
東京都東京市三丁目1−1 → 東京都東京市

神奈川県横浜市関内5155 → 神奈川県横浜市関内

のようにに、住所表示文字列の一部を取り出したいのです。
いろいろやったのですが、上手くいきません。
どのようにすれば良いのか、良い方法をご存知の方がいらっしゃれば、
ご教示願いたいと思います。

よろしくお願いします。
19732 Re:文字列の一部を取り出す方法について うにん 2003/04/04-23:44
記事番号19731へのコメント
>(例)
>東京都東京市三丁目1−1 → 東京都東京市
>神奈川県横浜市関内5155 → 神奈川県横浜市関内
>のようにに、住所表示文字列の一部を取り出したいのです。

東京都三鷹市なんてのもありますから、辞書を使うしかないんじゃないかな?

19736 住所の町域名と番地番号を分ける 佐田 守弘 2003/04/05-01:19
記事番号19731へのコメント
TSさん
質問の主旨は、町域名と番地番号を別項目に分けたいのだと思います。
私はこれを行ってますので参考までに紹介します。
ただし、TSさんの質問にある「丁目」の番号の前で分けるのではなく、
私の場合には、郵便番号簿に記載されている町域名と、町域名には含まれないそれ以下の番地番号とに分けています。

どこが違うかと言うと、北海道などでは丁目までが町域名に入っている場合があります。

●分割の方法
関数で分る方法はありません。
これはうにんさんも書かれている通り町域名の中に漢数字(時には算用数字も)が含まれているものがあるからです。

そこで、郵便番号データを使って、郵便番号の町域名まで記載されている部分と、それ以外の部分を分けます。
これは質問の主旨とちょっと違うとは思いますが、多分行いたいであろう
郵便番号データと住所との対応を行うには、この方法しかありません。

項目は以下の項目を作っておきます。
[〒]:郵便番号データです。
[住所]:番地までは行っている元データの項目です。都道府県名は含まれていない前提で考えます。
[町域]:郵便番号データからの表引きで町域名を一義的に決めます。
[番地]:#文字置換([住所],[町域],"")
    住所から町域名が書かれている部分を削除します。

●前準備として
前準備としては、郵便番号データの表が必要です。
また、住所は郵便番号データに書かれている通りに記載してないと旨く分割できません。

なお、郵便番号に関しては、私の以下のサイトに掲載してあります。
http://www.ne.jp/asahi/m.sada/kiri/KIRI7/K7_ZIP.html

佐田守弘(KS-00119)
19743 Re:住所の町域名と番地番号を分ける TS 2003/04/05-10:41
記事番号19736へのコメント
うにん さん、佐田 守弘さん コメントいただき有難うございます。

こんなに難しい問題を含んでいるとは思いませんでした。

また、佐田先生のHPも閲覧させていただきました。
この問題、もう少し別の角度から、再度考えてみたいと思います。
有難うございました。

戻る