我正在尝试测试使用 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
删除从字符串末尾开始按降序排列的匹配项。