How to sort by strings a mixed pair of string and number elements in a vector with Rust

1 Answer

0 votes
fn extract_name(s: &str) -> &str {
    let pos = s.rfind(' ').unwrap();
    
    &s[..pos]
}

fn main() {
    let mut v = vec![
        "Python 4".to_string(),
        "C 9".to_string(),
        "C++ 5".to_string(),
        "C# 6".to_string(),
        "Java 1".to_string(),
        "PHP 7".to_string(),
        "Go 2".to_string(),
    ];

    v.sort_by_key(|s| extract_name(s).to_string());

    println!("{v:?}");
}



/*
run:

["C 9", "C# 6", "C++ 5", "Go 2", "Java 1", "PHP 7", "Python 4"]

*/

 



answered Jan 23 by avibootz

Related questions

...