Golang截取字符串(支持中文)

来源:互联网 发布:php在线音乐网站源码 编辑:程序博客网 时间:2024/06/05 10:15

Go内置函数不支持截取字符串一部分

转换为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", begin, length, lth)    if begin < 0 {        begin = 0    }    if begin >= lth {        begin = lth    }    end := begin + length    if end > lth {        end = lth    }    fmt.Printf("begin=%d, end=%d, lth=%d\n", begin, length, lth)    return string(rs[begin:end])}
0 0
原创粉丝点击