Comment couper les espaces blancs de début et de fin d'une chaîne?

176

Quel est le moyen efficace de couper les espaces blancs de début et de fin de la variable chaîne dans Go?

Alex Mathew
la source
4
La documentation en ligne décrit exactement ce qui se passe et contient des exemples exécutables et modifiables!
Volker
Je souhaite que cela puisse être recherché par "Ruby strip golang"
kangkyu

Réponses:

267

Par exemple,

package main

import (
    "fmt"
    "strings"
)

func main() {
    s := "\t Hello, World\n "
    fmt.Printf("%d %q\n", len(s), s)
    t := strings.TrimSpace(s)
    fmt.Printf("%d %q\n", len(t), t)
}

Production:

16 "\t Hello, World\n "
12 "Hello, World"
peterSO
la source
Essayez "\ t Hello, \ nWorld \ n" ne fonctionne pas :( ... comment supprimer la nouvelle ligne?
KingRider
8
Il coupe toujours le début et la fin, mais il ne supprimera pas la nouvelle ligne au milieu car ce n'est pas ce que fait la coupe. Vous devrez utiliser des chaînes.Remplacer ou quelque chose de similaire pour supprimer la nouvelle ligne au milieu de la chaîne.
Gustavo Poscidonio
34

Il y a un tas de fonctions pour couper les cordes en aller.

Voyez-les là-bas: Trim

Voici un exemple, adapté de la documentation, supprimant les espaces blancs de début et de fin:

fmt.Printf("[%q]", strings.Trim(" Achtung  ", " "))
Denys Séguret
la source
2
Comment couper \ t \ n? fmt.Printf("%q", strings.Trim("\t\t\t\t", `! \t`))Ça ne marche pas
tom10271
5
@aokaddaoc avez-vous essayé strings.TrimSpace(str)?
Ahmed
7

Pour couper votre chaîne, le paquet « cordes » de Go ont TrimSpace(), Trim()fonction des garnitures et des espaces de fin de premier plan.

Consultez la documentation pour plus d'informations.

Kabeer Shaikh
la source
0

Tout comme @Kabeer l'a mentionné, vous pouvez utiliser TrimSpace et voici un exemple de la documentation de golang:

package main

import (
    "fmt"
    "strings"
)

func main() {
    fmt.Println(strings.TrimSpace(" \t\n Hello, Gophers \n\t\r\n"))
}
Nanthini Muniapan
la source
0

@peterSO a la bonne réponse. J'ajoute plus d'exemples ici:

package main

import (
    "fmt"
    strings "strings"
)

func main() { 
    test := "\t pdftk 2.0.2  \n"
    result := strings.TrimSpace(test)
    fmt.Printf("Length of %q is %d\n", test, len(test))
    fmt.Printf("Length of %q is %d\n\n", result, len(result))

    test = "\n\r pdftk 2.0.2 \n\r"
    result = strings.TrimSpace(test)
    fmt.Printf("Length of %q is %d\n", test, len(test))
    fmt.Printf("Length of %q is %d\n\n", result, len(result))

    test = "\n\r\n\r pdftk 2.0.2 \n\r\n\r"
    result = strings.TrimSpace(test)
    fmt.Printf("Length of %q is %d\n", test, len(test))
    fmt.Printf("Length of %q is %d\n\n", result, len(result))

    test = "\r pdftk 2.0.2 \r"
    result = strings.TrimSpace(test)
    fmt.Printf("Length of %q is %d\n", test, len(test))
    fmt.Printf("Length of %q is %d\n\n", result, len(result))   
}

Vous pouvez également le trouver dans l' aire de jeux Go lang .

S.Mishra
la source