golang统计字符串字数

news/2024/11/29 13:33:41/

   golang 可以使用正则和 unicode 包的方法判断。

   以下函数 GetStrLength 返回输入的字符串的字数,每个汉字和中文标点算 1 个字数,英文和其他字符算半个字数,不足 1 个字算 1 个。

// GetStrLength 返回输入的字符串的字数,汉字和中文标点算 1 个字数,英文和其他字符 2 个算 1 个字数,不足 1 个算 1个
func GetStrLength(str string) float64 {var total float64reg := regexp.MustCompile("/·|,|。|《|》|‘|’|”|“|;|:|【|】|?|(|)|、/")for _, r := range str {if unicode.Is(unicode.Scripts["Han"], r) || reg.Match([]byte(string(r))) {total = total + 1} else {total = total + 0.5}}return math.Ceil(total)
}

参考:

https://www.yuque.com/docs/share/48fb9946-def2-48f1-b0db-68715dadab49


http://www.ppmy.cn/news/487249.html

相关文章

字节数与字符数mysql_数据库字段长短之字节与字符

以下部分摘抄于网络,请知悉 1、字符:常见的1、2、A、a、¥、*、?、国、#等符号都叫做字符; 2、字节:存储容量的单位Byte(B),一个字节是8个bit(b)。 根据字符集、编码方式的不同,不同的…

python按位数分割字符串_按位置拆分字符串

我们知道anchors、word boundaries和{}在某个位置匹配,而不是匹配字符。 是否可以使用regex(特别是python)通过前面的一种方法拆分字符串?在 例如,考虑以下字符串:"ThisisAtestForchEck,Match IngwithPosition." 因此,我需要以下结果(以大写字母开头但不以空格开…

限制input输入框的输入字符个数,区别中英文字符

input输入框自带maxlength,但是无论是中文还是英文字符都算1。我们项目中要求的是中文字符算2个长度,英文字符算1一个长度。且我的是vue项目,需要实现双向数据绑定。经过一番研究得出下面的方法实现,暂时看来应该没问题。在此记录…

PHP 字符串限制字数和获取字符串字数

一、截取限制字数:mb_substr() mb_substr( $str, $start, $length, $encoding ) $str,需要截断的字符串 $start,截断开始处,起始处为0 $length,要截取的字数 $encoding,网页编码,如utf-8,G…

TextView限制行数,每行限制字符数

android:lines"2" 表示限制2行; android:maxLength"8" 表示限制8个字符; android:ellipsize"end" 表示显示不全时使用省略号结尾; android:singleLine"true" 表示限制单行显示; …

html已输入字数,通过jQuery设置textarea标签字数限制并实时计算已输入的字符数

在用HTML制作网页时,遇到 textarea 文本框标签时有时需要对文字内容长度设置固定输入字符数。本文主要介绍通过使用 jQuery 动态控制 textarea 文本框标签的内容和长度,对其输入的文字字符数及汉字数限制提示代码,并且,动态实时计算显示已经输入多少字符数的解决方法。 jQu…

Linux命令之统计文件行数、字数、字符数-wc

wc(Word Count)命令用来统计文件内容信息,包括行数、字符数等 语法:wc [-lwc] fine_name 若不接文件,则统计标准输入 #显示文件内容信息,输出信息依次是:行数,字数,字节数,文件名称 wc filename #显示一个文件的行数 wc -l filename #显示一个文…

字符数组与字符指针的区别

1.字符指针可以指向一个字符串。 我们可以用字符串常量对字符指针进行初始化。例如,有说明语句: char *str "This is a string."; 是对字符指针进行初始化。此时,字符指针指向的是一个字符串常量的首地址,即指向字符串…