我想遍历一个句子以从字符串中提取简单的单词。这是我目前所做的,试图让 parse
函数首先匹配输入字符串中的 world
:
fn parse(input: String) -> String {
let mut val = String::new();
for c in input.chars() {
if c == "w".to_string() {
// guessing I have to test one character at a time
val.push_str(c.to_str());
}
}
return val;
}
fn main() {
let s = "Hello world!".to_string();
println!("{}", parse(s)); // should say "world"
}
遍历字符串中的字符以匹配 Rust 中的模式(例如对于基本解析器)的正确方法是什么?
最佳答案
使用 str::contains
可以轻松检查字符串中的单词方法。
至于自己编写解析器,我认为 Rust 与其他语言没有什么不同。您必须创建某种状态机。
例如,您可以查看 serialize::json
.我还写了一个CSV parser它使用带有方便的 read_char
方法的缓冲区。使用这种方法的优点是您不需要一次将整个输入加载到内存中。
关于string - 如何在 Rust 中遍历字符串中的字符以匹配单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22738013/