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

前端之家收集整理的这篇文章主要介绍了Golang截取字符串(支持中文)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

转换为rune slice之后,一个中文就是一个“字符”, 所以你可以一个一个的替换,取出等操作。

func SubString(str string@H_502_6@,begin@H_502_6@,length int@H_502_6@) string@H_502_6@ {
    fmt.Println("Substring ="@H_502_6@,str)
    rs := []rune(str)
    lth := len(rs)
    fmt.Printf("begin=%d,end=%d,lth=%d\n"@H_502_6@,length,lth)
    if@H_502_6@ begin@H_502_6@ < 0@H_502_6@ {
        begin@H_502_6@ = 0@H_502_6@
    }
    if@H_502_6@ begin@H_502_6@ >= lth {
        begin@H_502_6@ = lth
    }
    end@H_502_6@ := begin@H_502_6@ + length

    if@H_502_6@ end@H_502_6@ > lth {
        end@H_502_6@ = lth
    }
    fmt.Printf("begin=%d,lth)
    return string@H_502_6@(rs[begin@H_502_6@:end@H_502_6@])
}

猜你在找的Go相关文章