3 个版本
0.1.2 | 2022年5月12日 |
---|---|
0.1.1 | 2022年3月30日 |
0.1.0 | 2022年3月29日 |
#1788 in 文本处理
170KB
3K SLoC
chanoma
chanoma 是一个字符规范化库。文字列正規化処理用のライブラリです。
使用方法
对于 CLI
chanoma -p ハンカクカナは全角カタカナに変換されます
对于 Rust
use chanoma::Chanoma;
fn main() {
let chanoma = Chanoma::new();
chanoma.use_preset();
println!("{}", chanoma.normalize("ハンカクカナは全角カタカナに変換されます"));
}
安装
对于 CLI
cargo install --git https://github.com/booink/chanoma
对于 Rust
[dependencies]
chanoma = { version = "0.1.1", git = "https://github.com/booink/chanoma" }
配置文件
chanoma 可以通过配置文件调整结果。有两种方法可以加载配置文件。
- 将配置文件的路径设置到环境变量
CHANOMARC
。 - 将文件放置在以下路径之一。
$HOME/.config/chanoma/chanomarc.{ext}
$HOME/.config/chanoma/.chanomarc.{ext}
$HOME/chanomarc.{ext}
$HOME/.chanomarc.{ext}
$PWD/chanomarc.{ext}
$PWD/.chanomarc.{ext}
在上面的任何一种情况下,.{ext}
中指定的扩展名可以是 .csv
, .yaml
(.yml
) 之一。
CSV 文件格式
CSV 文件中,只能设置单个字符的替换。在第一列中记录要替换的字符,在第二列中记录替换后的字符。
from,to
&,&
YAML 文件格式
YAML 文件中,可以指定单个字符的替换和 Modifier 两种方法。
单个字符的替换
在根键中记录 items
,使用数组指定 from
键的值记录要替换的字符,to
键的值记录替换后的字符。
items:
- from: "a"
to: "A"
指定 Modifier
在根键中记录 modifiers
,使用缩进来记录 Modifier 作为键。可指定的 Modifier 如下。
character_converter
: 设置单个字符的替换。键记录要替换的字符,值记录替换后的字符。(与items
的处理相同。)character_eliminator
: 删除指定的字符。consecutive_character_reducer
: 将指定的连续相同字符合并为一个。dotted_space_eliminator
: 删除除“半角英数字”和“半角英数字”之间的半角空格之外的半角空格。ligature_translator
: 将指定的合字合并为一个字符。trim
: 删除首尾的半角空格。neologdn
: 与 neologdn 相同的结果处理。
modifiers:
character_converter:
a: A
b: B
character_eliminator: ["~", ∼, ∾, 〜, 〰, ~]
consecutive_character_reducer: ー
dotted_space_eliminator:
ligature_translator:
ハ゜: パ
trim:
neologdn:
依赖项
~8–17MB
~208K SLoC