如何知道哪个 CharacterSet 包含给定字符?

How to know which CharacterSet contains a given character?

有没有办法检查一个字符是否属于CharacterSet

我想知道 CharacterSet 字符 - 应该用什么。我使用 symbols 吗?

我已经检查了这个文档,但仍然不知道。 https://developer.apple.com/documentation/foundation/characterset

删除字符串末尾多余的空格时,我们这样做:

let someString = " "
print("\(11111) - \(someString)".trimmingCharacters(in: .whitespaces))

但是如果我只想删除 - 怎么办?或任何特殊字符,例如 *?

编辑:如果可能的话,我一直在寻找每个 CharacterSet 的完整字符集。

Unicode 标准中定义了您想要的内容。它被称为 Unicode 通用类别。每个 Unicode 字符都属于一个类别。

Unicode 网站也提供 complete character list showing the character's code, category, and name. You can also find a complete list of Unicode categories

- 是 U+2D(HYPHEN-MINUS)。它被列为 "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 的文档以了解哪个预定义字符集适用于该类别。