質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

8回答

2249閲覧

住所から市区町村を抽出したい

yrema

総合スコア286

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

1グッド

11クリップ

投稿2019/01/11 08:47

例えば
「東京都千代田区永田町1丁目7−1」は「千代田区」
「京都府京都市北区金閣寺町1」は「京都市」
のように市区町村を抽出したいです。

都道府県名はまず変わることがないのでそれを抜かした文字列から
前方一致で「市」「区」「町」「村」が最初に見つかる位置までの文字列だと、
「四日市市」「町田市」「大村市」などが抽出できません。
何か良い抽出方法はないでしょうか?
上記のような例外地名を事前に用意して弾くしかないのでしょうか?

市区町村名は合併などでよく変わりますので、そのあたりも考慮した実装経験の方がいらっしゃいましたらご教示願いたいです。

pokeharry👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答8

0

ベストアンサー

Google Mapsのgeocoding APIに検索するのはいかがでしょうか。json形式の戻り値には都道府県名、市区町村名などが含まれるので、必要なものを取り出せばいいかと思います

投稿2019/01/11 10:08

R.Shigemori

総合スコア3376

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yrema

2019/01/12 04:02

なるほど、良い案ですね。Googleリスクは伴いますが、メンテしなくて済む一番の方法かもしれません。
hameji001

2019/01/15 16:08

自分も同様な方式採用してます。 かなり便利ですよ。
guest

0

おっしゃる通り、事前に用意して弾くしかないと思います。

記憶に薄いですが、どこかに郵便番号データベースがあったので、うちでは、郵便番号必須にしていました。

投稿2019/01/11 08:57

yoorwm

総合スコア1305

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

0

上記のような例外地名を事前に用意して弾くしかないのでしょうか?

「全市町村をリスト化する」か「イレギュラーだけ用意する」の2択だと思います。

住所を「都道府県」「市区町村」「それ以降」に分ける - Qiita

投稿2019/01/11 09:00

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

基本的には無理ですね。
都道府県名が絶対についている保証があるなら郵便番号データなどを
辞書として利用すればなんとかできるかもしれないです

投稿2019/01/11 09:00

yambejp

総合スコア114775

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

実務だと使いものにならないんじゃないかなぁ。。。
なるべく短い正規表現で住所を「都道府県/市区町村/それ以降」に分けるエクストリームスポーツ
100% 対応とかメンテしんどすぎな気がする。

投稿2019/01/11 08:57

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

郵便番号データを辞書にして形態素解析すれば文字列分割出来るので、
それで都道府県を除いた2番目のキーワードで割り出せるかも。試してはいないので確かではないですが。
PHPで都道府県、市区町村、町域名以降の住所分割を高速に行う方法

投稿2019/01/12 04:03

cobm

総合スコア239

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

AjaxZip3をつかって、戻り値の市区町村を使ってはいかかでしょうか?
https://github.com/ajaxzip3/ajaxzip3.github.io

投稿2019/01/15 09:49

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

関係ないですが
日本郵便が公開する郵便番号データをそのまま利用するのがなぜ難しいか。そして、住所から郵便番号を求めるのがなぜ難しいか[PR]
https://www.publickey1.jp/blog/17/yubin7_pr.html

投稿2019/01/15 09:31

takotakot

総合スコア1111

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問