접두어, 접미어 확인

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])
    }
}

 

+ Recent posts