欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Golang 统计字符串长度(含中文)

程序员文章站 2022-06-22 23:51:20
...
// GetStrLength 返回输入的字符串的字数,汉字、中文标点、英文和其他字符都算 1 个字数
func GetStrLength(str string) float64 {
	var total float64

	reg := regexp.MustCompile("/·|,|。|《|》|‘|’|”|“|;|:|【|】|?|(|)|、/")

	for _, r := range str {
		if unicode.Is(unicode.Scripts["Han"], r) || reg.Match([]byte(string(r))) {
			total = total + 1
		} else {
			total = total + 1
		}
	}

	return math.Ceil(total)
}