How to move the n word to the end of a string in Rust

1 Answer

0 votes
use std::error::Error;

fn move_nth_word_to_end_of_string(input: &str, n: usize) -> Result<String, Box<dyn Error>> {
    let trimmed = input.trim();
    if trimmed.is_empty() {
        return Ok(trimmed.to_string());
    }

    let mut parts: Vec<&str> = trimmed.split_whitespace().collect();

    if n >= parts.len() {
        return Err("index out of range".into());
    }

    let word = parts.remove(n);
    parts.push(word);

    Ok(parts.join(" "))
}

fn main() -> Result<(), Box<dyn Error>> {
    let s = "Would you like to know more? (Explore and learn)";
    let n = 2;

    let result = move_nth_word_to_end_of_string(s, n)?;
    println!("{}", result);

    Ok(())
}



/*
run:

Would you to know more? (Explore and learn) like

*/

 



answered Feb 6 by avibootz
...