我希望标签为“帐户”,但它是“ccount”。为什么删除“a”?
package main
import "fmt"
import "strings"
func main() {
s := "refs/tags/account"
tag := strings.TrimLeft(s, "refs/tags")
fmt.Println(tag)
}
答案 0 :(得分:8)
正在运作as documented:
TrimLeft返回带有所有前导Unicode的字符串s 的切片 删除了cutset中包含的代码点
因为第一个参数(cutset)中有一个'a',帐户中的前导'a'被删除
答案 1 :(得分:7)
使用TrimPrefix代替TrimLeft
package main
import "fmt"
import "strings"
func main() {
s := "refs/tags/account"
tag := strings.TrimPrefix(s, "refs/tags/")
fmt.Println(tag)
}
请注意,在TrimLeft调用之后会产生相同的" fghijk "字符串:
package main
import (
"fmt"
"strings"
)
func main() {
s := "/abcde/fghijk"
tag := strings.TrimLeft(s, "/abcde")
fmt.Println(tag)
tag = strings.TrimLeft(s, "/edcba")
fmt.Println(tag)
}
所以TrimLeft不是适合您需求的方法。我想在您获得预期结果的示例中无法使用它。