5个版本
0.2.0 | 2023年2月18日 |
---|---|
0.1.3 | 2022年5月21日 |
0.1.2 | 2022年5月21日 |
0.1.1 | 2022年5月21日 |
0.1.0 | 2022年5月21日 |
#1397 in 文本处理
24KB
359 行
字符频率
Rust库,用于多线程中计算字符频率
函数
character_frequencies(text: &str) -> HashMap<char, usize>
返回一个包含在文本参数中计数的频率的映射。它将在可用的CPU数量上运行。character_frequencies_with_n_threads(text: &str, threads: usize) -> HashMap<char, usize>
: 返回一个包含在文本参数中计数的频率的映射。它将在指定的线程数上运行。character_frequencies_w_case(text: &str,case:CaseSense) -> HashMap<char, usize>
与 character_frequencies() 相同,但具有大小写敏感的计数character_frequencies_with_n_threads_w_case(text: &str,case:CaseSense) -> HashMap<char, usize>
与 character_frequencies_with_n_threads() 相同,但具有大小写敏感的计数
枚举
CaseSense::InsensitiveASCIIOnly
- 在计数之前将ASCII字符转换为小写。这是默认设置。CaseSense::Insensitive
- 在计数之前将所有UTF8字符转换为小写。如果Unicode字符的小写版本是一个字符串而不是一个字符,则会引发恐慌。CaseSense::Sensitive
- 在计数之前不将任何字符转换为小写。
示例
此示例计算 Hello, World!
的字符频率并在之后打印它们
use character_frequency::*;
let frequency_map = character_frequencies("Hello, World!");
println!("Character frequencies:");
for (character, frequency) in frequency_map {
print!("\'{}\': {},", character, frequency);
}
//Character frequencies:
//'r': 1 'd': 1 'o': 2 '!': 1 ',': 1 ' ': 1 'e': 1 'h': 1 'w': 1 'l': 3
这做了同样的事情,但具有大小写敏感度。
let frequency_map = character_frequencies_w_case("Hello WORLD",CaseSense::Sensitive);
println!("Character frequencies:");
for (character, frequency) in frequency_map {
print!("\'{}\': {},", character, frequency);
}
//Character frequencies:
//'R': 1 'D': 1 'O': 1 'o': 1 ' ': 1 'e': 1 'H': 1 'W': 1 'l': 2 'L': 1
依赖关系
~77KB