在Go中,哪一种有效的方法来修剪字符串变量的前导和尾随空白?


当前回答

为了修剪你的字符串,Go的“strings”包有TrimSpace(), Trim()函数来修剪前导和尾随空格。

有关更多信息,请查看文档。

其他回答

就像@Kabeer提到的,你可以使用TrimSpace,这里有一个来自golang文档的例子:

package main

import (
    "fmt"
    "strings"
)

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

import (
    "fmt"
    "strings"
)

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

输出: 你好,打地鼠

点击这个链接——https://golang.org/pkg/strings/#TrimSpace

@peterSO有正确答案。我在这里添加了更多的例子:

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

你也可以在围棋场上找到它。

在go中有很多修剪字符串的函数。

看到了吧:修剪

下面是一个例子,改编自文档,删除了前导和后面的空白:

fmt.Printf("[%q]", strings.Trim(" Achtung  ", " "))

strings.TrimSpace (s)

例如,

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

输出:

16 "\t Hello, World\n "
12 "Hello, World"