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

MIT 许可证

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(())
}

设置

  1. 安装 C 库:参见 安装说明

  2. 将安装路径导出到 LD_LIBRARY_PATH

测试

$ cargo test -- --test-threads 1

依赖

~145KB