工作,学习,生活,这里将会有一些记录. 备用域名:http://meisw.wdlinux.cn 注册 | 登陆

golang - 如何判断字符是不是中文?

如何判断字符是不是中文, 以及中文的标点?

找到中文如何判断了:

package main  import (     "fmt"     "regexp" )  func main() {     str := "问"     var hzRegexp = regexp.MustCompile("^[\u4e00-\u9fa5]$")     fmt.Println(hzRegexp.MatchString(str)) }
中文标点未知。

-------------

http://unicode.org/Public/UNIDATA/Blocks.txt

标点,当然是常用的:
3000..303F; CJK Symbols and Punctuation

Unicode规范比较复杂,中文其实你那个没有包括Non BMP字符,要弄全难度还是比较大。

-----------

[\p{Han}]+匹配中文,中文标点不清楚,不过也不多,都写上吧!

 

----------

go里面好像有支持,无需正则
/*
判断字符串是否包含中文字符
*/
func IsChineseChar(str string) bool {
for _, r := range str {
if unicode.Is(unicode.Scripts["Han"], r) {
return true
}
}
return false
}

« 上一篇 | 下一篇 »

Trackbacks

点击获得Trackback地址,Encode: UTF-8

发表评论

评论内容 (必填):