Ответ 1
Мне нужно выполнить итерацию с помощью сканирования символов.
Метод .chars()
возвращает итератор поверх символов в строке. например
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`
}
Если вас интересуют байтовые смещения каждого char, вы можете использовать char_indices
.
Посмотрите .peekable()
и используйте peek()
для поиска вперед. Он обернут таким образом, потому что он поддерживает кодовые точки UTF-8 вместо простого символа символов.
Вы также можете создать вектор char
и работать с ним оттуда, но это больше времени и пространства:
let my_chars: Vec<_> = mystr.chars().collect();