###前提・実現したいこと
今目的のページのURLからHTMLソースを取得し、そこからそのページに書かれている住所の取得をしたく奮闘しているところです。
目的のページは各自治体の避難場所の住所が記載されているページから住所を抜き出したいと考えています。
住所を抜き出す方法として、正規表現を用いているのですが、いまいちうまく取得できません。
重複して取得されたり、必要ない部分まで取得されます。
避難場所の記載方法には大きく分かれて、住所を記載しているか、名称を記載しているかに分かれます。
それをカバーするために、住所を取得するパターンと名称を取得するパターンで分けています。
名称で取得するパターンでは、避難場所に指定されやすい「大学」「公園」などのキーワードをパターンに指定して取得しています。
現状のマッチパターンは下のとおりです。
String pattern2 = ">.?(.+?[都道府県])?([ァ-ン一-龥].+?郡.+?[町村]|[ァ-ン一-龥].+?市.+?区|[ァ-ン一-龥].?[市区町村])(.+)(\d+|.+?丁目)(-\d+|(.+?番地|.+?番))(.+)(-\d+|.+?号)?<";
String pattern1 = "(<.*?>|[0-90-9]|.|-|.|ー).*?(.*?公園|[ァ-ン一-龥]*?大学|[ァ-ン一-龥]*?小学校|[ァ-ン一-龥]*?中学校|[ァ-ン一-龥]*?高校|[ァ-ン一-龥]*?高等学校|[ァ-ン一-龥]*?施設|[ァ-ン一-龥]*?体育館)";
このパターンで、
while (m.find()){
Log.d("test",m.group(2));
}
このように現状取得しています。
###発生している問題・エラーメッセージ
現状の問題は、住所のほうでの取得はまず、住所自体がうまく取れ無かったり、必要の無い文字が入っていたりします。
名所の方では重複して全ての住所が2.3回取得されてしまいます。
きれいに取得する方法や、パターンがあればぜひお教え願いたいです。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー