6 个版本 (2 个稳定版本)

1.0.1 2021 年 7 月 9 日
1.0.0 2021 年 5 月 4 日
0.3.0 2021 年 3 月 13 日
0.2.0 2020 年 4 月 7 日
0.1.1 2020 年 4 月 6 日

#383文本处理

Download history 428/week @ 2024-03-13 515/week @ 2024-03-20 469/week @ 2024-03-27 350/week @ 2024-04-03 366/week @ 2024-04-10 322/week @ 2024-04-17 511/week @ 2024-04-24 705/week @ 2024-05-01 427/week @ 2024-05-08 350/week @ 2024-05-15 267/week @ 2024-05-22 444/week @ 2024-05-29 312/week @ 2024-06-05 369/week @ 2024-06-12 299/week @ 2024-06-19 384/week @ 2024-06-26

每月 <1,409 次下载
5 个 crate 中使用

MIT 许可证

1MB
66K SLoC

世俗

MIT Latest Version Chat on Miaou

提供字符或字符串的无变音符号版本。

例如,对于 é 返回 e

世俗的字符查找是静态表的内联查找,这意味着可以在性能敏感的代码中使用它。

世俗还执行(可选)Unicode 规范化。

删除变音符号和一些 Unicode 艺术品的一个常见用例是简化搜索

(在 broot 中忽略变音符号的规范化搜索:用户键入了 rève)

声明

默认情况下,变音符号移除仅在 ASCII 字符上执行,因此包含了一个较小的表。

如果您想处理整个 BMP,请使用 "bmp" 功能"(缺点是二进制文件更大,因为它包含一个大映射)。

默认导入

[dependencies]
secular = "0.3"

对于更多字符(BMP)

[dependencies]
secular = { version="0.3", features=["bmp"] }

使用 Unicode 规范化函数(使用 unicode-normalization crate)

[dependencies]
secular = { version="0.3", features=["normalization"] }

[dependencies]
secular = { version="0.3", features=["bmp","normalization"] }

此功能是 unicode-normalization crate 的可选功能(请注意,许多其他 crate 也使用它,因此您的处理应用程序可能已经包含它)。

用法

字符

use secular::*;
let s = "Comunicações"; // normalized string (length=12)
let chars: Vec<char> = s.chars().collect();
assert_eq!(chars.len(), 12);
assert_eq!(chars[0], 'C');
assert_eq!(lower_lay_char(chars[0]), 'c');
assert_eq!(chars[8], 'ç');
assert_eq!(lower_lay_char(chars[8]), 'c');

字符串

use secular::*;
let s = "Comunicações"; // unnormalized string (length=14)
assert_eq!(s.chars().count(), 14);
let s = normalized_lower_lay_string(s);
assert_eq!(s.chars().count(), 12);
assert_eq!(s, "comunicacoes");

依赖项