检查字符串是否在 Swift 中包含特殊字符
为了检查字符串是否在 swift 中包含特殊字符,我们可以使用诸如 if else 或 switch 的条件语句,但这需要执行很多条件,导致编程和执行非常耗时。因此在此示例中,我们将了解如何使用正则表达式完成相同的工作以及 swift 提供的另一种用于检查某个字符是否存在于字符集中的方法。
方法 1 − 使用正则表达式
让我们创建一个 String 的扩展,并向其中添加以下代码
extension String {
var containsSpecialCharacter: Bool {
let regex = ".*[^A-Za-z0-9].*"
let testString = NSPredicate(format:"SELF MATCHES %@", regex)
return testString.evaluate(with: self)
}
}我们可以运行以下代码作为示例,如下所示。
override func viewDidLoad() {
super.viewDidLoad()
print("3r42323".containsSpecialCharacter)
print("!--%332".containsSpecialCharacter)
}输出
以下是方法 1 的结果

现在我们用方法 2 查看同样的示例。
方法 2
let characterset = CharacterSet(charactersIn:
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
)
if "3r42323".rangeOfCharacter(from: characterset.inverted) != nil {
print("true")
} else {
print("false")
}
if "!--%332".rangeOfCharacter(from: characterset.inverted) != nil {
print("true")
} else {
print("false")
}输出
生成的结果如下所示。

广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP