From 0ab0342281eb617b80561e70994a7df5bc1a202f Mon Sep 17 00:00:00 2001 From: flag3 Date: Sat, 28 Oct 2023 20:29:28 +0900 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=F0=9F=8E=B8=20=E3=80=8C=E7=95=AA?= =?UTF-8?q?=E3=80=8D=E3=81=AE=E5=89=8A=E9=99=A4=E3=82=92=E6=9C=AB=E5=B0=BE?= =?UTF-8?q?=E3=81=AE=E3=81=BF=E3=81=B8=E3=81=A8=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/normalize.ts | 2 +- test/main.test.ts | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/normalize.ts b/src/normalize.ts index 5eea88c062..8ef784888e 100755 --- a/src/normalize.ts +++ b/src/normalize.ts @@ -442,7 +442,7 @@ export const normalize: Normalizer = async ( /([0-9]+|[〇一二三四五六七八九十百千]+)\s*(番地?)\s*([0-9]+|[〇一二三四五六七八九十百千]+)\s*号?/, '$1-$3', ) - .replace(/([0-9]+|[〇一二三四五六七八九十百千]+)番地?/, '$1') + .replace(/([0-9]+|[〇一二三四五六七八九十百千]+)番(地|$)/, '$1') .replace(/([0-9]+|[〇一二三四五六七八九十百千]+)の/g, '$1-') .replace( /([0-9]+|[〇一二三四五六七八九十百千]+)[--﹣−‐⁃‑‒–—﹘―⎯⏤ーー─━]/g, diff --git a/test/main.test.ts b/test/main.test.ts index 291ffe0737..baa74157d3 100644 --- a/test/main.test.ts +++ b/test/main.test.ts @@ -873,7 +873,7 @@ for (const [runtime, normalize] of cases) { test('東京都千代田区三番町2番地4三番町KSビル10階(番地と建物名が混ざり、「番」が消えることがないこと)', async () => { const res = await normalize('東京都千代田区三番町2番地4三番町KSビル10階') - expect(res).toStrictEqual({"pref": "東京都", "city": "千代田区", "town": "三番町", "addr": "2-4三町KSビル10階", "lat": 35.690557, "lng": 139.743591, "level": 3}) + expect(res).toStrictEqual({"pref": "東京都", "city": "千代田区", "town": "三番町", "addr": "2-4三番町KSビル10階", "lat": 35.690557, "lng": 139.743591, "level": 3}) }) test('東京都千代田区神田美土代町9番地7千代田21ビル7階(「7千代田」が「7000代田」にならないこと)', async () => { @@ -889,6 +889,11 @@ for (const [runtime, normalize] of cases) { }) }) + test('神奈川県川崎市川崎区駅前本町15番5十五番館ビル(「5十五番館ビル」が「番」が消えずに「5十五番館ビル」となる)', async () => { + const res = await normalize('神奈川県川崎市川崎区駅前本町15番5十五番館ビル') + expect(res).toStrictEqual({"pref": "神奈川県", "city": "川崎市川崎区", "town": "駅前本町", "addr": "15-5十五番館ビル", "lat": 35.530613, "lng": 139.702222, "level": 3}) + }) + describe('途中にスペースを含むケース', () => { // https://github.com/geolonia/normalize-japanese-addresses/issues/180 test('京都府京都市 下京区上之町999', async () => { From 7754ebcb41bff0920921aa37150966a38a75618d Mon Sep 17 00:00:00 2001 From: flag3 Date: Thu, 2 Nov 2023 13:28:21 +0900 Subject: [PATCH 2/2] =?UTF-8?q?test:=20=F0=9F=92=8D=20=E7=B7=AF=E5=BA=A6?= =?UTF-8?q?=E7=B5=8C=E5=BA=A6=E3=81=AE=E4=BF=AE=E6=AD=A3=E3=81=A8csv?= =?UTF-8?q?=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB=E3=81=AE=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/addresses.csv | 8 ++++---- test/main.test.ts | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/test/addresses.csv b/test/addresses.csv index fabc00cf76..adad514242 100644 --- a/test/addresses.csv +++ b/test/addresses.csv @@ -1896,7 +1896,7 @@ 東京都世田谷区粕谷3丁目11-7,東京都,世田谷区,粕谷三丁目,11-7 東京都世田谷区粕谷3丁目14-7,東京都,世田谷区,粕谷三丁目,14-7 東京都世田谷区粕谷3丁目30-11,東京都,世田谷区,粕谷三丁目,30-11 -東京都世田谷区粕谷4丁目8番以下未定,東京都,世田谷区,粕谷四丁目,8以下未定 +東京都世田谷区粕谷4丁目8番以下未定,東京都,世田谷区,粕谷四丁目,8番以下未定 東京都世田谷区経堂1丁目35-21,東京都,世田谷区,経堂一丁目,35-21 東京都世田谷区経堂1丁目6-12,東京都,世田谷区,経堂一丁目,6-12 東京都世田谷区経堂2丁目27-9,東京都,世田谷区,経堂二丁目,27-9 @@ -2685,7 +2685,7 @@ 東京都品川区小山6丁目21-2,東京都,品川区,小山六丁目,21-2 東京都品川区小山6丁目22ー11,東京都,品川区,小山六丁目,22-11 東京都品川区小山6丁目7-6,東京都,品川区,小山六丁目,7-6 -東京都品川区平塚2丁目11番以下未定,東京都,品川区,平塚二丁目,11以下未定 +東京都品川区平塚2丁目11番以下未定,東京都,品川区,平塚二丁目,11番以下未定 東京都品川区平塚2丁目20-8,東京都,品川区,平塚二丁目,20-8 東京都品川区平塚2丁目6-2,東京都,品川区,平塚二丁目,6-2 東京都品川区平塚3丁目11-1,東京都,品川区,平塚三丁目,11-1 @@ -3806,7 +3806,7 @@ 東京都杉並区和泉4丁目5-5,東京都,杉並区,和泉四丁目,5-5 東京都杉並区和田1丁目16-16,東京都,杉並区,和田一丁目,16-16 東京都杉並区和田1丁目22-16,東京都,杉並区,和田一丁目,22-16 -東京都杉並区和田1丁目31番以下未定,東京都,杉並区,和田一丁目,31以下未定 +東京都杉並区和田1丁目31番以下未定,東京都,杉並区,和田一丁目,31番以下未定 東京都杉並区和田3丁目28-2,東京都,杉並区,和田三丁目,28-2 東京都杉並区和田3丁目6-16,東京都,杉並区,和田三丁目,6-16 東京都杉並区善福寺1丁目27-20,東京都,杉並区,善福寺一丁目,27-20 @@ -6986,7 +6986,7 @@ 神奈川県横浜市青葉区荏田西1丁目12-17,神奈川県,横浜市青葉区,荏田西一丁目,12-17 神奈川県横浜市青葉区荏田西1丁目12-28,神奈川県,横浜市青葉区,荏田西一丁目,12-28 神奈川県横浜市青葉区荏田西2丁目1-8,神奈川県,横浜市青葉区,荏田西二丁目,1-8 -神奈川県横浜市青葉区荏田西2丁目10番  号,神奈川県,横浜市青葉区,荏田西二丁目,10 号 +神奈川県横浜市青葉区荏田西2丁目10番  号,神奈川県,横浜市青葉区,荏田西二丁目,10番 号 神奈川県横浜市青葉区荏田西2丁目14-2,神奈川県,横浜市青葉区,荏田西二丁目,14-2 神奈川県横浜市青葉区荏田西2丁目15-5,神奈川県,横浜市青葉区,荏田西二丁目,15-5 神奈川県横浜市青葉区荏田西2丁目20-10(C棟) 20-27(D棟),神奈川県,横浜市青葉区,荏田西二丁目,20-10(C棟) 20-27(D棟) diff --git a/test/main.test.ts b/test/main.test.ts index baa74157d3..e93b28ffbb 100644 --- a/test/main.test.ts +++ b/test/main.test.ts @@ -891,7 +891,7 @@ for (const [runtime, normalize] of cases) { test('神奈川県川崎市川崎区駅前本町15番5十五番館ビル(「5十五番館ビル」が「番」が消えずに「5十五番館ビル」となる)', async () => { const res = await normalize('神奈川県川崎市川崎区駅前本町15番5十五番館ビル') - expect(res).toStrictEqual({"pref": "神奈川県", "city": "川崎市川崎区", "town": "駅前本町", "addr": "15-5十五番館ビル", "lat": 35.530613, "lng": 139.702222, "level": 3}) + expect(res).toStrictEqual({"pref": "神奈川県", "city": "川崎市川崎区", "town": "駅前本町", "addr": "15-5十五番館ビル", "lat": 35.532434, "lng": 139.6996, "level": 3}) }) describe('途中にスペースを含むケース', () => {