How do you iterate over a string by character

前端 未结 1 1289
Happy的楠姐
Happy的楠姐 2020-12-23 11:01

I have a string and I need to scan for every occurrence of \"foo\" and read all the text following it until a second \". Since Rust does not have a con

相关标签:
1条回答
  • 2020-12-23 11:55

    I need to iterate by characters scanning for it.

    The .chars() method returns an iterator over characters in a string. e.g.

    for c in my_str.chars() { 
        // do something with `c`
    }
    
    for (i, c) in my_str.chars().enumerate() {
        // do something with character `c` and index `i`
    }
    

    If you are interested in the byte offsets of each char, you can use char_indices.

    Look into .peekable(), and use peek() for looking ahead. It's wrapped like this because it supports UTF-8 codepoints instead of being a simple vector of characters.

    You could also create a vector of chars and work on it from there, but that's more time and space intensive:

    let my_chars: Vec<_> = mystr.chars().collect();
    
    0 讨论(0)
提交回复
热议问题