সুইফটে একটি স্ট্রিং-এ একটি বিশেষ অক্ষর রয়েছে কিনা তা পরীক্ষা করার জন্য আমরা if else বা সুইচের মতো শর্তাবলী ব্যবহার করতে পারি তবে এটি কার্যকর করার জন্য অনেক শর্তের প্রয়োজন হবে, যা প্রোগ্রামিং তৈরি করার পাশাপাশি সম্পাদনের সময় সাপেক্ষ। তাই এই উদাহরণে আমরা দেখব কিভাবে রেগুলার এক্সপ্রেশনের সাথে একই কাজটি করা যায় এবং অন্য একটি পদ্ধতি যা সুইফ্ট একটি অক্ষর সেটে কিছু অক্ষর বিদ্যমান কিনা তা পরীক্ষা করার জন্য প্রদান করে।
পদ্ধতি 1 - রেগুলার এক্সপ্রেশন ব্যবহার করে
আসুন স্ট্রিং-এর একটি এক্সটেনশন তৈরি করি এবং এতে নিম্নলিখিত কোড যোগ করুন
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") }
আউটপুট
উত্পাদিত ফলাফল নীচে দেখানো হয়েছে৷
৷