如何检查 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 字符串是不是只包含某些字符?的主要内容,如果未能解决你的问题,请参考以下文章