#排序 #自然 #人类 #字符串 #又名 #顺序 #txt

nightly natural_sort

Rust 实现自然排序(也称为“人类排序”)

1 个不稳定版本

使用旧的 Rust 2015

0.0.1 2014年12月9日

#23 in #又名

29 每月下载量

8KB
132 代码行,不包括注释

Natural-Sort

Natural-Sort 是一个 Rust 库,实现了“自然排序”(也称为“人类排序”)。请参阅 Jeff Atwood 的 Sorting for Humans: Natural Sort Order


lib.rs:

natural_sort 是一个 crate,用于使用“自然排序”对字符串进行排序(也称为“人类排序”)。

在基于字符串的正常搜索中,字符串总是按字母顺序比较

let mut files = ["file2.txt", "file11.txt", "file1.txt"];
files.sort();

// "file11.txt" comes before "file2.txt" because the string "11" comes
// before the string "2" in the dictionary.
assert_eq!(files, ["file1.txt", "file11.txt", "file2.txt"]);

此 crate 提供了一个名为 natural_sort 的函数,当按数字排序更有意义时,将按数字对字符串进行排序

use natural_sort::natural_sort;

let mut files = ["file1.txt", "file11.txt", "file2.txt"];
natural_sort(&mut files);

// Here, "file11.txt" comes last because `natural_sort` saw that there was a
// number inside the string, and did a numerical, rather than lexical,
// comparison.
assert_eq!(files, ["file1.txt", "file2.txt", "file11.txt"]);

可以使用 natural_sort::HumanString::from_str 直接创建可由人类比较的字符串。

无运行时依赖