Получить первые буквы слов в предложении - PullRequest
0 голосов
/ 14 мая 2018

Как я мог получить первые буквы из предложения; Например: «Rust - быстрый надежный язык программирования» должен возвращать вывод riafrpl.

fn main() {
    let string: &'static str = "Rust is a fast reliable programming language";
    println!("First letters: {}", string);
}

Ответы [ 2 ]

0 голосов
/ 14 мая 2018
let initials: String = string
    .split(" ")                     // create an iterator, yielding words
    .flat_map(|s| s.chars().nth(0)) // get the first char of each word
    .collect();                     // collect the result into a String
0 голосов
/ 14 мая 2018

Это идеальная задача для итераторов Rust;вот как бы я это сделал:

fn main() {                                                                 
    let string: &'static str = "Rust is a fast reliable programming language";

    let first_letters = string
        .split_whitespace() // split string into words
        .map(|word| word // map every word with the following:
            .chars() // split it into separate characters
            .next() // pick the first character
            .unwrap() // take the character out of the Option wrap
        )
        .collect::<String>(); // collect the characters into a string

    println!("First letters: {}", first_letters); // First letters: Riafrpl
}
...