접두어, 접미어 확인
prefix(_:), suffix(_:)
맨 앞 또는 뒤에서 몇번째 글자까지 오는 접두어나 접미어를 확인할 수 있다. 반환형은 Substring이다.
주민등록번호와 같이 자릿수가 고정된 문자열 분리할경우
let rrnString: String = "1234561234567"
let rrnArray = rrnString.compactMap { String($0) } // ["1","2","3","4","5","6","1","2","3","4","5","6","7"]
// 접두어 (앞에서부터 몇 글자)
let rrnfirst = rrnArray.prefix(6).joined() //"123456"
// 접미어 (뒤에서부터 몇 글자)
let rrnSecond = rrnArray.suffix(7).joined() //"1234567"
문자열 자리수에 맞게 자르기
extention String {
/**
- 문자열 자르기 (자리수에 맞게 자르기)
EX) 면허번호 14-00-016448-70
let licenseNumber = 140001644870
let text1 = licenseNumber.substring(from: 0, to: 1)
let text2 = licenseNumber.substring(from: 2, to: 3)
let text3 = licenseNumber.substring(from: 4, to: 9)
let text4 = licenseNumber.substring(from: 10, to: 11)
*/
func substring(from: Int, to: Int) -> String {
guard from < count, to >= 0, to - from >= 0 else {
return ""
}
// Index 값 획득
let startIndex = index(self.startIndex, offsetBy: from)
let endIndex = index(self.startIndex, offsetBy: to + 1) // '+1'이 있는 이유: endIndex는 문자열의 마지막 그 다음을 가리키기 때문
// 파싱
return String(self[startIndex ..< endIndex])
}
}
'Swift > 문법' 카테고리의 다른 글
[SWIFT]알고리즘 별 해시값 생성 (MD2,4,5/SHA) (0) | 2023.07.24 |
---|---|
[SWIFT]String -> Data, Data -> String 변환 (0) | 2023.07.20 |
[SWIFT]enum 함수 파라메터 타입으로 사용하기 (0) | 2023.07.05 |
[SWIFT]swich case 구간 설정 (0) | 2023.07.05 |
[SWIFT]DispatchSourceTimer 사용 (0) | 2023.07.03 |