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

标签 swift unicode nscharacterset

有没有办法检查一个字符是否属于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/

相关文章:

swift - 如何同时按日期范围和其他一些参数获取 firebase 数据

ios - 函数参数名称的行为与文档不符

ios - 在 iOS 上使用 OAuth2 进行身份验证

Delphi XE2 - 处理 blob 字段

mysql - 如何在 mysql 中正确处理 dakuten 和 handakuten 日文字符?

swift - 元组 Void (aka ()) 的值没有成员 "isSuperset"

ios - 如何调试自动布局约束?

python - 从文本文件读取时的 Unicode 编码

c++ - QFile::open 以 unicode 文件名失败

ios - 检查 CharacterSet.isSuperset 时未捕获 NSException