有没有办法检查一个字符是否属于CharacterSet
?
我想知道我应该为字符 -
使用什么 CharacterSet
。我使用符号
吗?
我已经检查过这个文档,但仍然不知道。 https://developer.apple.com/documentation/foundation/characterset
当删除字符串末尾的多余空格时,我们这样做:
let someString = " "
print("\(11111) - \(someString)".trimmingCharacters(in: .whitespaces))
但是如果我只想删除 -
该怎么办?或者任何特殊字符,例如 *
?
编辑:如果可能的话,我正在为每个 CharacterSet
寻找完整的字符集。
最佳答案
您想要的内容已在 Unicode 标准中定义。它被称为 Unicode 通用类别。每个 Unicode 字符都属于一个类别。
Unicode 网站提供 complete character list显示角色的代码、类别和名称。您还可以找到 Unicode categories 的完整列表也是如此。
-
是 U+2D(连字符减号)。它被列为“Pd”(标点符号)类别。
如果您查看 CharacterSet
的文档,您将看到 punctuationCharacters
,其记录如下:
Returns a character set containing the characters in Unicode General Category P*.
“Pd”类别包含在“P*”(表示任何“P”类别)中。
我还发现了https://www.compart.com/en/unicode/category这是按类别列出每个角色的第三方列表。比 Unicode 引用更加用户友好。
总结一下。如果您想知道给定角色使用哪个 CharacterSet
,请使用我链接的图表之一查找该角色的类别。了解其类别后,请查看 CharacterSet
文档,了解哪个预定义字符集适用于该类别。
关于swift - 如何知道哪个CharacterSet包含给定的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54369465/