यह जांचने के लिए कि क्या किसी स्ट्रिंग में स्विफ्ट में एक विशेष वर्ण है, हम सशर्त का उपयोग कर सकते हैं जैसे कि अन्य या स्विच लेकिन इसे निष्पादित करने के लिए बहुत सारी शर्तों की आवश्यकता होगी, प्रोग्रामिंग के साथ-साथ निष्पादन समय लेने वाला भी। तो इस उदाहरण में हम देखेंगे कि एक ही कार्य को नियमित अभिव्यक्तियों के साथ कैसे किया जाए और दूसरी विधि जो यह जांचने के लिए स्विफ्ट प्रदान करती है कि कोई वर्ण किसी वर्ण सेट में मौजूद है या नहीं।
विधि 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") }
आउटपुट
उत्पादित परिणाम नीचे दिखाया गया है।