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")
} 출력
생성된 결과는 아래와 같습니다.
