Skip to content

Latest commit

 

History

History
89 lines (63 loc) · 3.17 KB

README.md

File metadata and controls

89 lines (63 loc) · 3.17 KB

@toriyama/japanese-address-parser

A Library for processing addresses of Japan written in Rust.

npmjs install size downloads

Install

Install with npm:

npm install @toriyama/japanese-address-parser

Install with yarn:

yarn add @toriyama/japanese-address-parser

Introduction

@toriyama/japanese-address-parser is a library for parsing Japanese addresses.
You can split an address string into prefectures(都道府県), municipalities(市区町村), towns and villages(町村), and each subsequent element.

This library is a JavaScript binding for japanese-address-parser crate written in Rust by using wasm-pack. Node.js is not yet supported. If you are eager to use this library on Node.js, please write comments on #128 or pull-request!

Demo

You can try it out on the demo pages below.

Example

import init, {Parser} from "@toriyama/japanese-address-parser"

init().then(() => {
    const parser = new Parser()
    parser.parse("東京都千代田区丸ノ内1-1-1").then(parseResult => {
        console.log(JSON.stringify(parseResult, null, "\t"))
    })
})
{
  "address": {
    "prefecture": "東京都",
    "city": "千代田区",
    "town": "丸の内一丁目",
    "rest": "1-1"
  }
}

How it works

The input string is basically read in order from the beginning to the end. Once the name of prefecture has been scanned, the names of city will be scanned, then the names of town, and so on.
We don't have the list of city names or town names in this library, but fetch them via the internet each time. Version 0.1 use Geolonia住所データ authored by Geolonia Inc.
Detection place names may fail in some cases, such as when there is a notation distortion or when county names are omitted. In such cases, this library tries fuzzy match instead of exact match.

For more details, please visit our repository.

Contributing

If you want to contribute this library, please read the contribution guide to learn how to propose bug fixes and improvements.

License

This library is distributed under the terms of the MIT license.

Related projects