#句子 #分词器 #分割器 #字符串

nightly token

简单的字符串分词器(及句子分割器) 注意:如果您认为这个名字不够恰当,请给我发邮件至 jaln at itu dot dk

1个版本 (0个不稳定版本)

使用旧Rust 2015

1.0.0-rc12015年2月21日

#5#分割器

MIT 协议

11KB
129

Token

Build status (master)

这是一个包含简单的字符串分词器(基于Rust编程语言)的小型包。该包还包含一个简单的句子分割迭代器。

(句子分割器可能会移动,一旦我知道放在哪里)。

文档

machtan.github.io/token-rs/token

构建

将以下内容添加到您的Cargo.toml文件中

dependencies.token git = "https://github.com/machtan/token-rs"

示例

extern crate token;

let separators = vec![' ', '\n', '\t', '\r'];
let source: &str = "    Hello world \n  How do you do\t-Finely I hope";

let mut tokenizer = tokenizer::Tokenizer::new(source.as_bytes(), separators);
println!("Tokenizing...");
for token in tokenizer {
    println!("- Got token: {}", token.unwrap());
}
println!("Done!");

许可证

MIT(随意使用它)


lib.rs:

简单的字符串分词器,以及基于它的句子分词器。分词器忽略所有给定的分隔符字符,并返回作为字符串切片的字符之间。

示例

通用用法(作为迭代器)

您可能会这样使用它

let separators = vec![' ', '\n', '\t', '\r'];
let source: &str = "    Hello world \n  How do you do\t-Finely I hope";

let mut tokenizer = token::Tokenizer::new(source.as_bytes(), separators);
println!("Tokenizing...");
for token in tokenizer {
    println!("- Got token: {}", token.unwrap());
}
println!("Done!");

行为

在解析字符串(或来自读者的输入)时,您可以期待以下行为

let separators = vec![' ', '\n', '\t', '\r'];
let source: &str = "    Hello world \n  How do you do\t-Finely I hope";

let mut tokenizer = token::Tokenizer::new(source.as_bytes(), separators);
assert_eq!("Hello",     tokenizer.next().expect("1").unwrap());
assert_eq!("world",     tokenizer.next().expect("2").unwrap());
assert_eq!("How",       tokenizer.next().expect("3").unwrap());
assert_eq!("do",        tokenizer.next().expect("4").unwrap());
assert_eq!("you",       tokenizer.next().expect("5").unwrap());
assert_eq!("do",        tokenizer.next().expect("6").unwrap());
assert_eq!("-Finely",   tokenizer.next().expect("7").unwrap());
assert_eq!("I",         tokenizer.next().expect("8").unwrap());
assert_eq!("hope",      tokenizer.next().expect("9").unwrap());
assert_eq!(None,        tokenizer.next());

没有运行时依赖项