Computer >> 컴퓨터 >  >> 프로그램 작성 >> IOS

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의 결과입니다.

Swift에서 문자열에 특수 문자가 포함되어 있는지 확인

이제 우리는 방법 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")
}

출력

생성된 결과는 아래와 같습니다.

Swift에서 문자열에 특수 문자가 포함되어 있는지 확인