javaでの住所の都道府県分割について
住所を保存しているデータについて、
都道府県と、それ以外の部分とで分割する機能を作成。
最初はオシャレに行きたい精神が強く、
Pattern jyusyo; jyusyo = Pattern.compile("^(.{2}[都道府県]|.{3}県)"); Matcher matcher = null; matcher = jyusyo.matcher(value); if (matcher.find()){ prefecture = matcher.group(); }
としていたが、先頭に都道府県が来ず、
かつ千葉県にある四街道市とか来た場合に誤った動きをするので、
47都道府県を愚直にパターンマッチするように修正。
Pattern jyusyo; jyusyo = Pattern.compile("^(北海道|青森県|以下47都道府県分続く。。)"); Matcher matcher = null; matcher = jyusyo.matcher(value); if (matcher.find()){ prefecture = matcher.group(); }