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
原创文章,版权所有,转载请保留原文链接。

发表评论

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