转换为rune slice之后,一个中文就是一个“字符”, 所以你可以一个一个的替换,取出等操作。
func SubString(str string,begin,length int) string {
fmt.Println("Substring =",str)
rs := []rune(str)
lth := len(rs)
fmt.Printf("begin=%d,end=%d,lth=%d\n",length,lth)
if begin < 0 {
begin = 0
}
if begin >= lth {
begin = lth
}
end := begin + length
if end > lth {
end = lth
}
fmt.Printf("begin=%d,lth)
return string(rs[begin:end])
}
原文链接:https://www.f2er.com/go/189330.html