我想删除字符串的最后一个字符,但在此之前,我想检查最后一个字符是否为“ +”。如何才能做到这一点?
这是删除尾随加号的几种方法。
package main import ( "fmt" "strings" ) func TrimSuffix(s, suffix string) string { if strings.HasSuffix(s, suffix) { s = s[:len(s)-len(suffix)] } return s } func main() { s := "a string ++" fmt.Println("s: ", s) // Trim one trailing '+'. s1 := s if last := len(s1) - 1; last >= 0 && s1[last] == '+' { s1 = s1[:last] } fmt.Println("s1:", s1) // Trim all trailing '+'. s2 := s s2 = strings.TrimRight(s2, "+") fmt.Println("s2:", s2) // Trim suffix "+". s3 := s s3 = TrimSuffix(s3, "+") fmt.Println("s3:", s3) }
输出:
s: a string ++ s1: a string + s2: a string s3: a string +