はじめに
Notion Formula の第37回目は、「住所から都道府県だけ抜き出すには?」を解説します。今日は座談会だったので、正規表現の応用として短めですみません。この例については、こちらの逆引きで紹介しています。
数式
都道府県の取り出しを正規表現で実施しています。文字列の先頭(^)から任意の文字(.)を二文字か三文字({2,3})文字繰り返した後に都道府県のいずれかの文字([都道府県])を取り出し、メモに入れます (())。その後の任意の文字列の組み合わせ(.*)は捨てるためにマッチさせます。これで文字列全体がマッチしたことになるので、それをメモした都道府県名($1)に置き換えるだけです。
prop("住所").replace("^(.{2,3}[都道府県]).*", "$1")
| 通番 | 住所 | 都道府県 |
|---|---|---|
| 1 | 北海道札幌市中央区北3条西6丁目 | 北海道 |
| 2 | 青森県青森市長島一丁目1-1 | 青森県 |
| 3 | 岩手県盛岡市内丸10番1号 | 岩手県 |
| 4 | 宮城県仙台市青葉区本町3丁目8番1号 | 宮城県 |
| 5 | 秋田県秋田市山王四丁目1-1 | 秋田県 |
| 6 | 山形県山形市松波二丁目8-1 | 山形県 |
| 7 | 福島県福島市杉妻町2-16 | 福島県 |
| 8 | 茨城県水戸市笠原町978番6 | 茨城県 |
| 9 | 栃木県宇都宮市塙田1-1-20 | 栃木県 |
| 10 | 群馬県前橋市大手町1-1-1 | 群馬県 |
| 11 | 埼玉県さいたま市浦和区高砂3-15-1 | 埼玉県 |
| 12 | 千葉県千葉市中央区市場町1番1号 | 千葉県 |
| 13 | 東京都新宿区西新宿2-8-1 | 東京都 |
| 14 | 神奈川県横浜市中区日本大通1 | 神奈川県 |
| 15 | 新潟県新潟市中央区新光町4番地1 | 新潟県 |
| 16 | 富山県富山市新総曲輪1番7号 | 富山県 |
| 17 | 石川県金沢市鞍月1丁目1番地 | 石川県 |
| 18 | 福井県福井市大手3丁目17番1号 | 福井県 |
| 19 | 山梨県甲府市丸の内1-6-1 | 山梨県 |
| 20 | 長野県長野市大字南長野字幅下692-2 | 長野県 |
| 21 | 岐阜県岐阜市薮田南2丁目1番1号 | 岐阜県 |
| 22 | 静岡県静岡市葵区追手町9番6号 | 静岡県 |
| 23 | 愛知県名古屋市中区三の丸三丁目1番2号 | 愛知県 |
| 24 | 三重県津市広明町13番地 | 三重県 |
| 25 | 滋賀県大津市京町四丁目1番1号 | 滋賀県 |
| 26 | 京都府京都市上京区下立売通新町西入薮ノ内町 | 京都府 |
| 27 | 大阪府大阪市中央区大手前2丁目 | 大阪府 |
| 28 | 兵庫県神戸市中央区下山手通5丁目10番1号 | 兵庫県 |
| 29 | 奈良県奈良市登大路町30 | 奈良県 |
| 30 | 和歌山県和歌山市小松原通1-1 | 和歌山県 |
| 31 | 鳥取県鳥取市東町1丁目220 | 鳥取県 |
| 32 | 島根県松江市殿町1番地 | 島根県 |
| 33 | 岡山県岡山市北区内山下2丁目4番6号 | 岡山県 |
| 34 | 広島県広島市中区基町10-52 | 広島県 |
| 35 | 山口県山口市滝町1番1号 | 山口県 |
| 36 | 徳島県徳島市万代町1丁目1番地 | 徳島県 |
| 37 | 香川県高松市番町四丁目1番10号 | 香川県 |
| 38 | 愛媛県松山市一番町4丁目4-2 | 愛媛県 |
| 39 | 高知県高知市丸ノ内1丁目2番20号 | 高知県 |
| 40 | 福岡県福岡市博多区東公園7番7号 | 福岡県 |
| 41 | 佐賀県佐賀市城内1丁目1-59 | 佐賀県 |
| 42 | 長崎県長崎市江戸町2-13 | 長崎県 |
| 43 | 熊本県熊本市中央区水前寺6丁目18番1号 | 熊本県 |
| 44 | 大分県大分市大手町3丁目1番1号 | 大分県 |
| 45 | 宮崎県宮崎市橘通東二丁目10番1号 | 宮崎県 |
| 46 | 鹿児島県鹿児島市鴨池新町10番1号 | 鹿児島県 |
| 47 | 沖縄県那覇市泉崎1-2-2 | 沖縄県 |
おわりに
今回は「住所から都道府県だけ抜き出すには?」を解説しました。正規表現の書き方の説明だけでした。