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?


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"

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  ", " "))

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.


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"))
}

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 .

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.