都道府県に続けてタブを追加
行頭が都道府県名で始まる住所の、都道府県名までとそれ以降との間にタブを追加。
^(.+?[都道府県])
で検索したら酷い目に遭った。
当たり前だよね。
京都府 は 京都(タブ)府〜 になってしまう。
京都だけ気をつければ良さそうだけど、それだと実はちょっとまずい。
東京都と広島県には府中市があるし、全国には都の文字から始まる市や郡もあるのだ。
そこで、全国に4つしかない都・道・府を先に処理してから県を処理することに。
while line = ARGF.gets line.gsub!(/^(東京|北海|京都|大阪)([都道府])(.+)/) {"#{$1}#{$2}\t#{$3}"} line.gsub!(/^(.{2,3}県)(.+)/) {"#{$1}\t#{$2}"} print line end
2010年11月09日追記:
都・道・府を先に処理すませておけば、二行目は
^(.+?県)
で問題ないんだけど、まあいいやw