当前位置 博文首页 > go语言按显示长度截取字符串的方法

    go语言按显示长度截取字符串的方法

    作者:不吃皮蛋 时间:2021-02-13 09:04

    本文实例讲述了go语言按显示长度截取字符串的方法。分享给大家供大家参考。具体分析如下:

    根据显示长度截取字符串,之前php用的utf8编码,10个英文和10个汉字的显示长度差距太大,按字节截取的话又会出错出现截取半个汉字的情况,所以写了这两个函数.

    这两天在折腾golang,所以就用golang重写了着连个函数.代码如下:

    复制代码 代码如下:
    package main
    import (
        "fmt"
    )
    func main() {
        fmt.Println(show_strlen("哈哈1"))
        fmt.Println(show_substr("哈哈1什1么的", 9))
    }

    根绝显示长度截取字符串

    复制代码 代码如下:
    func show_substr(s string, l int) string {
        if len(s) <= l {
            return s
        }
        ss, sl, rl, rs := "", 0, 0, []rune(s)
        for _, r := range rs {
            rint := int(r)
            if rint < 128 {
                rl = 1
            } else {
                rl = 2
            }
            if sl + rl > l {
                break
            }
            sl += rl
            ss += string(r)
        }
        return ss
    }

    根据字符串显示获取显示长度

    复制代码 代码如下:
    func show_strlen(s string) int {
        sl := 0
        rs := []rune(s)
        for _, r := range rs {
            rint := int(r)
            if rint < 128 {
                sl++
            } else {
                sl += 2
            }
        }
        return sl
    }

    希望本文所述对大家的Go语言程序设计有所帮助。

    js
    下一篇:没有了