-2

现在我正在开始一个新项目,我通常有一个恒定的符号类,例如:

对象符号{常量值CHAR_COLON=“:”常量值CHAR_COMMA=“,”const val CHAR_SEMICOLON=“;”等。}

如果Java或Kotlin中已经添加了这样的类,那就太好了,但我似乎没有找到这样的类。有人知道这样的事吗?谢谢。

  • 2
    什么是“……冒号、分号等所有字符”?这取决于上下文。仅标点符号?仅标点符号?不是字母或数字的一切?适用于哪些语言?换行符、空格、制表符等如何。?要在正则表达式中使用吗? 评论 2022年6月24日16:47
  • 1
    通常,我们会使用regex进行类似的操作。 评论 2022年6月24日16:59
  • 1
    Kotlin/Java字符串可能支持数十甚至数十万个字符。在这样的课堂上要暴露哪些内容?
    – 胸脯
    评论 2022年6月24日17:51

1答案1

重置为默认值
1

我不知道为什么要为单个字符定义常量(只需使用烧焦,它是一个常量!)但是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不管怎样,我不知道你怎么才能接触到所有的角色

您的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.