📌  相关文章
📜  如何从 Golang 中的字节切片中修剪空格?(1)

📅  最后修改于: 2023-12-03 15:08:13.897000             🧑  作者: Mango

如何从 Golang 中的字节切片中修剪空格?

在 Golang 中,可以使用 bytes.TrimSpace 函数将字节切片中的前导和尾随空格修剪掉。

package main

import (
    "bytes"
    "fmt"
)

func main() {
    s := []byte("  hello  ")
    trimmed := bytes.TrimSpace(s)
    fmt.Printf("%s\n", trimmed)
}

输出:

hello

在上面的代码中,我们在字节切片 s 中包含了前导和尾随空格。使用 bytes.TrimSpace 函数返回一个新的字节切片,其中包含 s 中除前导和尾随空格之外的所有内容。最后我们使用 fmt.Printf 函数打印修剪后的字符串。

bytes.TrimSpace 函数也可以应用于字符串:

package main

import (
    "bytes"
    "fmt"
)

func main() {
    s := "  hello  "
    trimmed := bytes.TrimSpace([]byte(s))
    fmt.Printf("%s\n", trimmed)
}

输出:

hello

上面的代码中,我们使用 []byte(s) 将字符串转换为字节切片。其他的操作与第一个例子相同,所以我们得到了相同的输出。

此外,如果您只想从切片开头修剪空格,可以使用 bytes.TrimLeftFunc 函数,如果您只想从切片结尾修剪空格,可以使用 bytes.TrimRightFunc 函数。

这是一个修剪开头空格的简单示例:

package main

import (
    "bytes"
    "fmt"
)

func main() {
    s := "  hello  "
    trimmed := bytes.TrimLeftFunc([]byte(s), func(r rune) bool {
        return r == ' '
    })
    fmt.Printf("%s\n", trimmed)
}

输出:

hello  

在这个例子中,我们使用了 bytes.TrimLeftFunc 函数来从字符串的开头修剪空格。我们传递了一个简单的函数,以便 bytes.TrimLeftFunc 函数知道我们想要什么。在这个例子中,我们使用了一个匿名的函数来指定我们要剪掉哪些字符。如果字符是空格符,我们就返回 true,否则返回 false。