1个版本 (0个不稳定版本)
使用旧Rust 2015
1.0.0-rc1 | 2015年2月21日 |
---|
#5 在 #分割器
11KB
129 行
Token
这是一个包含简单的字符串分词器(基于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());