• 締切済み
  • 暇なときにでも

住所から市町村名などを切り出す

県名から始まったり、県は省略されて市名からはじまったりと、バラバラの住所データから、都道府県名が何で市町村名は何で区は何で残りの住所は何で─というようなものを取り出したいのですが、うまい方法はありませんでしょうか。 東京の場合は2番目に区が来るとか、町はどの階層に入れるのかとか、そういった細かい事は考えなくても良い内容です。 下記のプログラムでは駄目でした。切り出せない上に文字化けします。どうしてでしょう。(東京を別にしているのは京都対策です。) if ($juusho=~tr/^(東京都)//d) {$todoufuken=$1;} elsif($juusho=~tr/^(.+?[県府道])//d) {$todoufuken=$1;}

共感・応援の気持ちを伝えよう!

  • 回答数4
  • 閲覧数779
  • ありがとう数14

みんなの回答

  • 回答No.4
noname#9414
noname#9414

口で説明するのが面倒なので、ソースを書きます。 一通り、SJISで確かめましたが、きちんと表示でき ました。1バイトごとにパターンマッチさせるので、 1バイト文字と2バイト文字が混じっていても大丈夫 なはずです。 >>ソースはここから $result = 0; @ken = ("北海道","青森県","秋田県","岩手県",  "山形県","宮城県","福島県","茨城県","群馬県",  "栃木県","千葉県","埼玉県","神奈川県","東京都",  "新潟県","長野県","山梨県","静岡県","岐阜県",  "愛知県","滋賀県","富山県","石川県","京都府",  "大阪府","和歌山県","三重県","鳥取県",  "島根県","広島県","岡山県","兵庫県","香川県",  "徳島県","愛媛県","高知県","福岡県", 佐賀県",  "長崎県","熊本県","宮崎県","鹿児島県",  "大分県","沖縄県","山口県","奈良県","福井県"); @str = ("東京都千代田区1-1-1", "千代田区1-1-1",  "千葉県千葉市中央区", "千葉市中央区",  "兵庫県神戸市","神戸市"); for($i = 0; $i < @str; $i++) {   foreach $key (@ken)   {     if($str[$i] =~ s/$key//eg)     {       ;     }   }   print "$str[$i]\n"; } >>ソースはここまで とりあえず、こんなもんですかね。だめな場合は、 補足して下さい。 ではでは☆

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • 住所の区切り方

    住所を都道府県や市区町村などの区分で分ける場合、「東京都」は都道府県、「港区」は市区町村だと思うのですが、それより下の 「新橋1-○-×」の部分は何と呼ぶのでしょうか? 特に「1-○-×」の部分を「番地」だとすると「新橋」の部分は何と呼ぶのでしょうか?

  • Access 住所 コンボボックス

    こんにちは、 Access2003で質問があります。 コンボボックス?が2つあり、 1つ目:都道府県 2つ目:市町村 で 1つ目のコンボボックスを東京都にすると 2つ目に東京都の市町村が抽出されて、そこから該当する市町村を選択できるようにしたいと考えています。 どのようにすればよいのでしょうか? 何かお分かりの方がいましたら教えてください。よろしくお願いします。

  • セルに入っている住所に都道府県名を加えたい

    あるセル(x)に住所が入っています。 その住所は都道府県から入っている場合もあるし、都道府県抜きの場合もあります。 都道府県の抜きの場合に、都道府県を入れて住所を編集し、別のセル(Y)にセットしたいです。 「港区、、、」であれば「東京都港区、、、」 「横須賀市、、、」であれば「神奈川県横須賀市、、、」 そんな感じです。 特定地域ですので、市町村名は限られています。 どんな風にエクセルを作成すれば良いでしょうか?

  • 回答No.3
  • ARC
  • ベストアンサー率46% (643/1383)

現在市区町村は、全3368個あります。 この程度であれば、別途、市区町村名ファイルを作って、マッチング処理をさせてもいいんじゃないかと思います。 「郵便ホームページ」(下記URL)で、7桁郵便番号の一覧が手に入るので、それを加工すれば、市区町村の一覧が手に入ります。

参考URL:
http://www.postal.mpt.go.jp/

共感・感謝の気持ちを伝えよう!

  • 回答No.2
  • sando
  • ベストアンサー率38% (24/62)

Perlのバージョンと使用している文字コードにもよりますが、 [県府道]は1バイト単位でマッチする可能性がありますので(つまり[県府道]は6文字の文字列と解釈される) (県|府|道)にしてみてはどうでしょうか あとは漢字コードがSJISの場合は変なことが起こるかもしれません。

共感・感謝の気持ちを伝えよう!

  • 回答No.1
noname#25358
noname#25358

 「都」や「区」「町」などの文字が間違いなく入力されているという条件かでならば、それらの文字を使って切り分けることができます。  しかし、もしそうでないのなら、基本的に不可能だと思った方がいいでしょう。  よっぽど巨大なデータベースを作らない限り。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • 住所の分割方法

    顧客データで、住所フィールドが1,2,3とあり、本来であれば、 1・・・都道府県 2・・・市区町村から番地 3・・・マンション、アパート名 としなければいけないのですが、郵便番号辞典から入力したため、住所2のフィールドに1と2がくっついて入力されています。 これを都道府県で切って、都道府県名を住所1のフィールドに、市区町村から番地までを住所2のフィールドに分割したいのですが、関数もしくはマクロがあれば教えてください。 住所1には、「東京都」などの「都」に相当する都道府県名まで入れたいのですが。 (データが5000件くらいあります)

  • 都道府県と市町村の条例について

    知人に頼まれて質問させていただきます 都道府県の条例があって、域内の市町村が同じ内容の条例を作った場合に、都道府県の条例と市町村の条例の両方が適用されるのか、それとも市町村の条例だけが適用されるのかどっちでしょうか。  地方分権一括法に伴って国から都道府県や市町村に条例の制定権が移されることになっていますが、都道府県と市町村の両方で条例を制定できるようになっている場合があるかと思います。 こうした場合都道府県がこれまで制定していた条例について、新たに域内の市町村が制定できると思いますが、そのような場合に新たに条例を制定した市町村内では、その市町村の条例だけが適用されるのでしょうか。それとも都道府県の条例と市町村の条例の2つが併存することになって、別途都道府県条例の中で調整規定を設ける必要があるのでしょうか。 難しい案件ですがよろしくお願いします

  • あなたが住んでいる都道府県市町村で1番好きな場所を

    あなたが住んでいる都道府県市町村で1番好きな場所を教えて下さい。 都道府県市町村名を明記して教えて下さい。

  • 市町村の読み方

    市町村と書いて「しちょうそん」と呼びますよね。 ところが実際に「~町」や「~村」となったとき、都道府県で呼び方が異なります。 私が知っている範囲では東日本では概ね「~まち」「~むら」と読んでいますが、西日本では「~ちょう」「~むら」が一般的のようです。ところが岡山県や沖縄県では「~ちょう」「~そん」となり、宮城県や九州の県では同じ県内でも「~町」を町によって「~まち」または「~ちょう」と読むなど混在しているようです。 なぜ都道府県で読み方が異なるのか、そして何故同一県内で読み方が異なる場所があるのか、ご存じの方は教えて下さい。

  • 履歴書の住所「京都府京都市、岐阜県岐阜市」など場合

    素朴な疑問です。 履歴書の住所というのは、都道府県名から書くのが常識ですが、 京都府京都市、岐阜県岐阜市、熊本県熊本市など、 都道府県名と市が同じ名称の場合、皆さんはどこから住所を書いていますか? 例えば大阪府大阪市の方が東京の会社を受験する場合、 めんどうだと思っても県がちがうので、必ず大阪府から住所を書かれると思うのですが 大阪の会社を受験する場合、わざわざ大阪府と書かなくても 大阪市から書いていても会社側は普通わかると思うんです。 私はこれまで都道府県名と市の名称が同じ所にずっと住んでいますが、 面倒だと思いながらも必ず都道府県名から書いています。 ちなみに札幌市、横浜市、名古屋市、神戸市など、都道府県名を書かなくても普通わかるだろという 大都市に住んでる方もやはり都道府県名から書かれているものでしょうか? もちろん都道府県名から書くという事が常識ということは十分存じています。 ただ素朴な疑問として質問しました。

  • 年賀状の住所省略について

    年賀状作成ソフトなどで住所録を作成すると 都道府県+市町村+詳細 とフル住所が作成されますが 例えば 大阪府大阪市 とかいうのは「大阪府」を省略しても良いか どうか、一般常識としてはどうなのでしょうか? ◆都道府県名の省略 (1)省略してはいけない (2)省略してもいい (例 大阪府大阪市のような場合) (3)郵便番号は正しければもっと省略してもいい (例 **区など) (4)その他 ----------------------------- 私としては 大阪府大阪市....は「馬から落ちて落馬する」と 同じと思うのですが、皆様のご意見をお聞きしたいと思います。  

  • 市町村名が入った地方ごとの地図

    市町村名が入った日本地図ってありますか? 都道府県別にはあるのですが、関東地方とか、東海地方とかの地方ごとのが見つかりません。 都道府県ごとのを合わせればよいのですが、サイズがちがったり、きれいにできません。 なので、地方ごとにあるサイトがあれば教えてください。 ほしい情報は、市町村の区切りと市町村名が入っていることです。

  • エクセルで決まった文字に決まった数字を入れたい。

    エクセルを勉強中です。 検索しようとしましたが、うまく検索できなかったので、教えてください。 たとえばC列すべてに東京都、○○県、▲▲県・・・などとランダムに都道府県名が入っているとして、この中の、東京都に該当する行にだけ、その横のD列に1000と入力し、その他の都道府県名にはすべて200と入力したいのですが、簡単に入力出来る方法はありますか?

  • 風の強い都道府県や市町村

     我が群馬県はかかあ天下と空っ風が有名といわれるほど、風の強い県です。今日もかなり強い風が吹いています。寒いです。  ということで、群馬県以外にも風の強い都道府県や市町村等ありましたら教えてください。本日の強い風をまのあたりにしてそんなことを思いました。

  • 転居先の失敗

    転居先で、下手な物件に当たったとか、その土地 が思ったのと随分違った等、失敗だったと いうのがあったら教えて下さい。賃貸、分譲、構い ません。家を建ててみたが…でも。 転居先の都道府県名(東京の区部なら区名で) と共に教えて下さい。政令都市でしたら、市名 で構いません。

専門家に質問してみよう