迭代字符串字符时如何应用步骤?

时间:2015-06-25 13:47:28

标签: rust

在迭代过程中是否有一种简单的方法来应用步骤?我在book中看到了对step_by()的引用,但似乎无法让它发挥作用。

例如,要打印字符串的每个其他字符,我可以这样做但是有更简单的方法吗?

let s1 = "whhaatt".to_string();

for letter in s1.chars().enumerate() {
    let (i, l) = letter;
    if i % 2 == 0 {
        println!("{:?}", l );
    }
}

1 个答案:

答案 0 :(得分:3)

最简单的方法是使用step adaptor from the itertools crate。在这种情况下,您可以使用s1.chars().step(2)

  

除了:您的代码不会迭代"字符&#34 ;;它迭代代码点。您很可能想要graphemes method from the unicode-segmentation crate