27 个稳定版本
3.2.4 | 2024 年 8 月 4 日 |
---|---|
3.2.3 | 2024 年 7 月 1 日 |
3.2.2 | 2024 年 6 月 18 日 |
3.1.2 | 2024 年 3 月 30 日 |
1.4.1 | 2022 年 7 月 16 日 |
#201 in 文本处理
790 每月下载量
在 3 crates 中使用
89KB
2.5K SLoC
decancer
一个用于从字符串中移除常见 Unicode 混淆字符/同形异义词的库。
- 其核心用 Rust 编写,并利用一种 二分搜索 形式以确保速度!
- 默认情况下,它能够过滤 221,529(19.88%)个不同的 Unicode 代码点,例如
- 所有 空白字符
- 所有 变音符号,这也消除了所有形式的 Zalgo 文本
- 大多数 leetspeak 字符
- 大多数 同形异义词
- 几个表情符号
- 与其它包不同,此包是 Unicode 双向文本感知,它也以与应用程序渲染相同的方式解释从右向左的字符!
- 其行为也可以根据您的喜好进行高度自定义!
安装
在您的 Cargo.toml
decancer = "3.2.4"
示例
有关更多信息,请参阅 文档。
let mut cured = decancer::cure!(r"vEⓡ𝔂 𝔽𝕌Ňℕy ţ乇𝕏𝓣 wWiIiIIttHh l133t5p3/-\|<").unwrap();
assert_eq!(cured, "very funny text with leetspeak");
// WARNING: it's NOT recommended to coerce this output to a Rust string
// and process it manually from there, as decancer has its own
// custom comparison measures, including leetspeak matching!
assert_ne!(cured.as_str(), "very funny text with leetspeak");
assert!(cured.contains("funny"));
cured.censor("funny", '*');
assert_eq!(cured, "very ***** text with leetspeak");
cured.censor_multiple(["very", "text"], '-');
assert_eq!(cured, "---- ***** ---- with leetspeak");
捐赠
如果您想支持我手动查看数千个Unicode字符,请考虑捐款!❤
依赖项
~0–0.8MB
~14K SLoC