我正在尝试测试使用 func strings.TrimLeft 的代码。我需要查看运行中的MVCE,所以我去了the API specification

它带有一个示例,我用以下代码导出了该示例:

package main
import (
    "fmt"
    "strings"
)

func main() {
    fmt.Print(strings.TrimLeft("¡¡¡Hello, Gophers!!!", "!¡"))
}

运行它后,您会得到Hello, Gophers!!!
我决定在输入字符串前添加代码,将代码更改为
package main

import (
    "fmt"
    "strings"
)

func main() {
    fmt.Print(strings.TrimLeft("irrelevant text¡¡¡Hello, Gophers!!!", "!¡"))
}

结果字符串是整个输入字符串:irrelevant text¡¡¡Hello, Gophers!!!
至少不应该删除剪切字符吗?!

最佳答案

trim暗示适当的后缀或前缀是一种行业标准。
trimLeft只会从字符串的开头删除匹配的字符,并在第一个不匹配的字符处停止。在您的示例中,“无关”的“i”是它检查的第一个字符。它没有通过检查,因此停止修整(即不执行任何操作)。

相比之下,trimRight删除从字符串末尾开始按降序排列的匹配项。

10-06 13:15
查看更多