以下のような住所情報があったとします。
東京都府中市1-2-3 道路横ビル
これから都道府県と取り出し、それ以外と分離する場合は、以下のような感じで可能です。
org = "東京都府中市1-2-3 道路横ビル"
pref = org.match(/^.+?[都道府県]/).to_s
addr = org.sub(pref,"")
prefに都道府県、addrにそれ以外が入る感じなります。
都道府県取得の正規表現に?を忘れると
prefが「東京都府中市1-2-3 道」と最長一致なってしまうのでご注意です。
※やっぱりこれだと京都府がとれないです。
pref = org.match(/^.{2,3}[都道府県]/).to_s
の方がよさそうです。
※※上記では東京都府中市が東京都府になっちゃいます。最短一致させるための?を忘れてました。
pref = org.match(/^.{2,3}?[都道府県]/).to_s
の方がよさそうです。