檢查字串是否在 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