我不知道为什么要为单个字符定义常量(只需使用烧焦
,它是一个常量!)但是Unicode标准为字符定义了一系列类别,您可以通过Java访问这些类别字符
班,它也有一些方法来获取角色的类型.
科特林给了你一个字符类别
枚举类它包含所有这些类别,以及一些使其更容易的函数-例如,您可以这样做:
println(CharCategory.OTHER_PUNCTUATION.contains(','))>>真的
但例如,'-'
是不在中其他_调整
类别,也称为类别Po公司
.属于DASH_调试
,钯
。如果您注意到,所有标点符号类别代码都以对,所以你可以这样做:
val标点符号类别=CharCategory.values().filter{it.code.first()=='P'}val Char.isPunction:Boolean get()=标点分类.any{it.contains(this)}println('-'.is标点)>>真的
这只是一个基本的概述,并指出这是Unicode标准的一部分-我真的不太了解它(我找不到更方便的方法来做这件事,但我可能是错的),我不确定它是否有用,但它确实存在!
科特林做有一个充满常量的对象对于“正确排版中使用的Unicode符号”但出于某种原因!还有一对名字中有印刷体,所以他们不得不反对,现在这就是我所说的印刷术
编辑:我应该指出,Unicode旨在代表曾经存在过的每一种书写系统,所以它的“标点符号”范围可能比你想要的要广一些!这取决于你是想检查一个字符,还是想创建一个标点符号集合。如果你只想把事情限制在特定的范围内Charset(字符集)
,比如美国_ASCII
不管怎样,我不知道你怎么才能接触到所有的角色