Let's say I have a string called varString.
varString := "Bob,Mark,"
Run Code Online (Sandbox Code Playgroud)
问题:如何从字符串中删除最后一个字母?就我而言,它是第二个逗号。
如何从字符串中删除最后一个字母?
在 Go 中,字符串是 UTF-8 编码的。Unicode UTF-8是一种可变长度的字符编码,每个 Unicode 字符(代码点)使用一到四个字节。
例如,
package main
import (
"fmt"
"unicode/utf8"
)
func trimLastChar(s string) string {
r, size := utf8.DecodeLastRuneInString(s)
if r == utf8.RuneError && (size == 0 || size == 1) {
size = 0
}
return s[:len(s)-size]
}
func main() {
s := "Bob,Mark,"
fmt.Println(s)
s = trimLastChar(s)
fmt.Println(s)
}
Run Code Online (Sandbox Code Playgroud)
游乐场:https : //play.golang.org/p/qyVYrjmBoVc
输出:
Bob,Mark,
Bob,Mark
Run Code Online (Sandbox Code Playgroud)