Wie schneide ich führende und nachfolgende Leerzeichen einer Zeichenfolge?

174

Was ist der effektive Weg, um die führenden und nachfolgenden Leerzeichen der Zeichenfolgenvariablen in Go zu kürzen?

Alex Mathew
quelle
4
Die Online-Dokumentation beschreibt genau, was los ist und enthält ausführbare und bearbeitbare Beispiele!
Volker
Ich wünschte, dies kann von "Ruby Strip Golang"
Kangkyu

Antworten:

264

Beispielsweise,

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

Ausgabe:

16 "\t Hello, World\n "
12 "Hello, World"
peterSO
quelle
Versuchen Sie "\ t Hallo, \ nWelt \ n" funktioniert nicht :( ... wie entfernen Sie Newline?
KingRider
8
Anfang und Ende werden immer noch abgeschnitten, aber die neue Zeile in der Mitte wird nicht entfernt, da dies nicht der Fall ist. Sie müssten Strings verwenden. Ersetzen oder ähnliches, um die neue Zeile in der Mitte des Strings zu entfernen.
Gustavo Poscidonio
33

Es gibt eine Reihe von Funktionen zum Trimmen von Strings.

Sehen Sie sie dort: Trimmen

Hier ist ein Beispiel aus der Dokumentation, das führende und nachfolgende Leerzeichen entfernt:

fmt.Printf("[%q]", strings.Trim(" Achtung  ", " "))
Denys Séguret
quelle
2
Wie schneide ich \ t \ n? fmt.Printf("%q", strings.Trim("\t\t\t\t", `! \t`))Es funktioniert nicht
tom10271
5
@aokaddaoc hast du es versucht strings.TrimSpace(str)?
Ahmed T. Ali
9
package main

import (
    "fmt"
    "strings"
)

func main() {
    fmt.Println(strings.TrimSpace(" \t\n Hello, Gophers \n\t\r\n"))
}

Ausgabe: Hallo, Gophers

Und folgen Sie einfach diesem Link - https://golang.org/pkg/strings/#TrimSpace

Nikta Jn
quelle
7

Zum Trimmen der Zeichenfolge, haben Gos „Strings“ -Paket TrimSpace(), Trim()Funktion , dass trimmt führende und nachgestellte Leerzeichen.

Weitere Informationen finden Sie in der Dokumentation .

Kabeer Shaikh
quelle
0

Genau wie @Kabeer erwähnt hat, können Sie TrimSpace verwenden. Hier ist ein Beispiel aus der Golang-Dokumentation:

package main

import (
    "fmt"
    "strings"
)

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

@ PeterSO hat die richtige Antwort. Ich füge hier weitere Beispiele hinzu:

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

Sie finden dies auch auf dem Spielplatz Go lang .

S.Mishra
quelle