Rust как разделить текст по символам?

Появилась проблема, что надо разделить строку let st = "Hello world" на символы, но st.split(""); не помогает. Как это реализовать?


Ответы (1 шт):

Автор решения: Pavel Mayorov

Вот так должно работать:

    let chars : Vec<char> = st.chars().collect();

Но, вообще говоря, для большинства задач отдельный вектор символов будет избыточен, и вам достаточно итератора st.chars()

Если вам нужно разбить именно на подстроки - можете сделать вот так:

    let chars : Vec<&str> = st.split_inclusive(|_| { true }).collect();

Здесь замыкание говорит о том, что любой символ является разделителем, а суффикс _inclusive говорит включать разделитель в выходную строку (без него у вас будет вектор пустых подстрок).

→ Ссылка