영문자로 된 글자만 유효하고, 기타 공백, 숫자, 특수 문자가 들어있는 경우는 제외하는 경우
Swift로 코드를 어떻게 짜볼까?
두가지 방법이 있을 수 있다.
1. 기타 공백, 숫자, 특수 문자의 문자열을 정의해서 포함하는 지 여부 확인
2. 영문자인 문자열을 정의해서 포함하는 지 여부 확인
func makingArr(_ str: String) -> [String] {
var result = [String]()
for i in 0..<str.count - 1 {
if "a"..."z" ~= str[i] && "a"..."z" ~= str[i + 1] {
result.append(str[i] + str[i + 1])
}
}
return result
}
func checkStringSpecialRule(_ str: String) -> Bool {
for character in str {
if "~₩!@#$%^&*()_-+=}{\";:/?.>,<\\| 1234567890".contains(character) {
return false
}
}
return true
}
String에 접근하기 위해서는 String.Index로 접근하여야한다. 이가 너무 귀찮은 방법이기 때문에
편하게 사용하는 두가지 방법이 있다.
1. String을 Array화 시킨 후 index로 접근
2. subscript 작성
Array(str)
extension String {
subscript(idx: Int) -> String? {
guard (0..<count).contains(idx) else {
return nil
}
let target = index(startIndex, offsetBy: idx)
return String(self[target])
}
subscript (r: Range<Int>) -> String {
let start = self.index(self.startIndex, offsetBy: r.lowerBound)
let end = self.index(self.startIndex, offsetBy: r.upperBound)
return String(self[start...end])
}
}
'iOS' 카테고리의 다른 글
[CoreAnimation] Layer Masking (feat. 키 모양 만들기) (0) | 2022.10.20 |
---|---|
[CoreAnimation] CAReplicatorLayer 알아보기 (0) | 2022.10.20 |
[Swift] String Index (0) | 2022.01.15 |
Swift로 입력 받기 (출력은 print, 근데 입력은..?) (0) | 2022.01.07 |
[HIG] App Architecture (0) | 2022.01.06 |