How to get the middle words of a string in Rust

1 Answer

0 votes
fn get_middle_words(string: &str) -> String {
    let words: Vec<&str> = string.split_whitespace().collect();
    let num_words = words.len();

    if num_words % 2 == 0 {
        let middle1 = words[num_words / 2 - 1];
        let middle2 = words[num_words / 2];
        
        format!("{} {}", middle1, middle2)
    } else {
        let middle_minus_1 = words[num_words / 2 - 1];
        let middle = words[num_words / 2];
        let middle_plus_1 = words[num_words / 2 + 1];
        
        format!("{} {} {}", middle_minus_1, middle, middle_plus_1)
    }
}

fn main() {
    let string = "c++ c java rust c# python golang";
    
    println!("{}", get_middle_words(string));
}

  
    
/*
run:

java rust c#
  
*/

 



answered Oct 8, 2024 by avibootz
...