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

1 Answer

0 votes
package main

import (
    "errors"
    "fmt"
    "strings"
)

func MoveNthWordToEndOfString(input string, n int) (string, error) {
    input = strings.TrimSpace(input)
    if input == "" {
        return input, nil
    }

    parts := strings.Fields(input)

    if n < 0 || n >= len(parts) {
        return "", errors.New("index out of range")
    }

    // Remove the nth word and append it at the end
    word := parts[n]
    parts = append(parts[:n], parts[n + 1:]...)
    parts = append(parts, word)

    return strings.Join(parts, " "), nil
}

func main() {
    s := "Would you like to know more? (Explore and learn)"
    n := 2

    result, err := MoveNthWordToEndOfString(s, n)
    if err != nil {
        fmt.Println("Error:", err)
        return
    }

    fmt.Println(result)
}



/*
run:

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

*/

 



answered Feb 6 by avibootz
...