Fork me on GitHub

Go语言开发-字符串-unicode包

3.6.4. unicode包

unicode包提供了一些用来查询unicode码点以确定其是否符合某些标准的函数,例如,一个字符是否可以表示成一个数字或一个小写字母。表3.11列出了一些最常用的函数。除了那些我们期望的函数外,如unicode.ToLower() 和unicode.IsUpper(),Go语言也提供了一个通用函数unicode.Is(),以便我们检查一个字符是否属于某个特定的 Unicode类别。

表3.11 unicode包中的函数

变量c是rune类型并表示成一个Unicode码点

unicode.Is( table, c)如果c在table中,则返回true
unicode.IsControl(c)如果c是一个控制字符,则返回true
unicode.IsDigit(c)如果c是一个十进制数,则返回true
unicode.IsGraphic(c)如果c是一个“图形”字符,如字母、数字、标点符号、符号或空格,则返回true
unicode.IsLetter(c)如果c是一个字母,则返回true
unicode.IsLower(c)如果c是一个小写字母,则返回true
unicode.IsMark(c)如果c是一个标记符,则返回true
unicode.IsOneOf( tables, c)如果c在tables中任意一个的table中,则返回true
unicode.IsPrint(c)如果c是一个可打印字符,则返回true
unicode.IsPunct(c)如果c是一个标点符号,则返回true
unicode.IsSpace(c)如果c是一个空格,则返回true
unicode.IsSymbol(c)如果c是一个符号,则返回true
unicode.IsTitle(c)如果c是一个首字母大写字符,则返回true
unicode.IsUpper(c)如果c是一个大写字符,则返回true
unicode.SimpleFold(c)将c以Unicode 码点的形式进行大小写转换
unicode.To( case, c)c的case形式,其中case 是unicode.LowerCase、 unicode.TitleCase、或unicode.UpperCase
unicode.ToLower(c)c的小写形式
unicode.ToTitle(c)c的首字母大写形式
unicode.ToUpper(c)c的大写形式

 

unicode 包提供了unicode.IsDigit() 函数来检查一个字符是否是一个十进制数,但是却没有提供类似的函数来检查是否是十六进制数,所以这里我们使用了自定义的 IsHexDigit() 函数。

这个简短的函数使用了unicode.Is()函数并结合unicode.ASCII_Hex_Digit的取值范围,以确定给定的字符是否是十六进制数。我们还可以很容易地创建类似的函数来检测其他Unicode字符。


目录


作者:Johnson
原创文章,版权所有,转载请保留原文链接。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注