티스토리 뷰
textField.pattern = "[a-zA-Z]"
회사에서 코드 살펴보다가 이런 코드가 있었는데...! 뭐였을까 찾아보는 중이다. 정규표현식이라는걸 찾아서 내용을 정리해보려규 한다.
일단 swift에는 정규표현식 라이브러리가 있다. NSRegularExpression..!이라고 부른 것! NS가 붙었으니 Objective-C로 짜여졌다는 것도 알 수 있다.
예제로 좀 더 살펴보자!
만약 내가 인스타같은 서비스를 개발중인데, 해시태그(#)가 붙어있는 단어들만 추출한다고 해 보자.
if문으로 떡칠하기에는 나는 너무 바쁜 개발자다. 야근 시렁
그럼 어떻게 하면 좋을까?? 왠지 똑똑한 사람들이 이미 이런 기능을 만들어 뒀을 것 같은 기분이 들지 않는가???? 그걸 해주는게 바로 정규표현식이다. 우리는 정규표현식을 쓰면, 문자열과 관련된 귀찮은 일을 안해도 된다. 아까 그 예제에서는 #[a-z0-9]+ 라는 정규 표현식을 써야 한다.
[] : 값의 range를 적어주는 곳. 우리는 알파벳과 숫자를 쓸 거니까 a-z 0-9를 쓴 것이당
+ : 특정 범위에 해당하는 문자가 한개 또는 이상 존재. +가 안붙으면 한글자만 인식한다. ex(#a #1 이런거)
!! 그럼 나의 pattern은 a-z, A-Z 알파벳 대소문자를 쓴다는 뜻이구나 ! ㅇㅋㅇㅋ
이케 쓰면 인슽하 글이 쉽고 빠르게 해시태그만 추출된다 :)
'macOS, iOS' 카테고리의 다른 글
[Swift] Optional Binding (0) | 2019.07.04 |
---|---|
becomeFirstResponder() (0) | 2019.07.04 |
[Swift] Closure (0) | 2019.07.04 |
RxSwift Playground에서 써보기 (0) | 2019.07.04 |
image 크기 바꾸기 - scaling, positioning, redrawing (0) | 2019.07.03 |