如何检查 Swift 字符串是不是只包含某些字符?

Posted

技术标签:

【中文标题】如何检查 Swift 字符串是不是只包含某些字符?【英文标题】:How to check if Swift string contains only certain characters?如何检查 Swift 字符串是否只包含某些字符? 【发布时间】:2019-12-29 20:43:35 【问题描述】:

我有一个字符串,我想检查它是否只包含 26 个字母字符(大小写)和 10 个数字字符:

abcdefghijklmnopkrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789

如何检查字符串是否不包含任何特殊字符?

【问题讨论】:

if string.range(of: "^[a-zA-Z0-9]*$", options: .regularExpression) != nil 提示:CharacterSet 非常感谢大家的帮助。效果很好。 欢迎来到 ***。下次您发布任何问题时,请提及您尝试过的内容以及代码有什么问题。 【参考方案1】:

使用

@sulthan 提到的if string.range(of: "^[a-zA-Z0-9]*$", options: .regularExpression) != nil

    ^ 是正则表达式的起点。这不匹配任何 特点。例如,^P 是匹配字母 P 的正则表达式 字符串的开头

    * 后跟 * 的正则表达式将处理正则表达式中的重复。为了 例如 P* 匹配 PPP 或 P。这也将匹配空字符串。

    $ 是字符串的结尾。这不匹配任何 特点。例如,P$ 正则表达式将匹配字符串末尾的 P。

如果您想避免空字符串,请使用 + 而不是 *"^[a-zA-Z0-9]+$" vadian 提到的

【讨论】:

该模式也匹配一个空字符串。如果您想另外检查字符串是否为 not 空,请使用模式 "^[a-zA-Z0-9]+$"

以上是关于如何检查 Swift 字符串是不是只包含某些字符?的主要内容,如果未能解决你的问题,请参考以下文章

SWIFT 检查字符串是不是以某些东西开头,但第二个字符可以是任何东西

如何检查字符串是不是已包含 Swift 中的字符 [重复]

如何检查字符串是不是包含某些字符串

检查某些字符串是不是在页面上

Lua:如何检查字符串是不是只包含数字和字母?

如何检查我的字符串是不是与正则表达式匹配 - Swift 3 [重复]