4 个版本 (2 个破坏性版本)
0.3.0 | 2022年3月12日 |
---|---|
0.2.0 | 2021年7月19日 |
0.1.1 | 2020年11月22日 |
0.1.0 | 2020年11月22日 |
#4 in #street
42KB
805 行
rustpostal
Rust 对 libpostal 的绑定,libpostal 是一个快速统计解析器/规范化器,用于处理世界各地的街道地址。
用法
use rustpostal::address;
use rustpostal::expand;
use rustpostal::LibModules;
fn main() -> Result<(), rustpostal::error::RuntimeError> {
let postal_module = LibModules::All;
postal_module.setup()?;
let address = "St Johns Centre, Rope Walk, Bedford, Bedfordshire, MK42 0XE, United Kingdom";
let labeled_tokens = address::parse_address(address, None, None)?;
for (token, label) in &labeled_tokens {
println!("{}: {}", token, label);
}
let expanded = expand::expand_address_with_options(address, Some(["en"].iter()))?;
for expansion in &expanded {
println!("{}", expansion);
}
Ok(())
}
设置
-
安装 C 库:参见 安装说明。
-
将安装路径导出到
LD_LIBRARY_PATH
。
测试
$ cargo test -- --test-threads 1
依赖
~145KB