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)
}