관리 메뉴

김종권의 iOS 앱 개발 알아가기

[swift - algorithm] 문자열 파싱, split(separator:), components(separatedBy:), joined() 본문

알고리즘/문자열 처리

[swift - algorithm] 문자열 파싱, split(separator:), components(separatedBy:), joined()

jake-kim 2021. 3. 13. 20:01

"문자열".split(separator:)

"12345".split(separator: "2") // ["1", "345"]

"문자열".components(separatedBy:)

  • separatedBy에 문자열을 넣고 실행하면, 문자열 중 separateBy에 속한 문자열을 제거한 배열로 반환
import Foundation

"12345".components(separatedBy: "2") // ["1", "345"]

["문자열"].joined()

  • 문자열 배열.joined(): 문자열 배열을 하나의 문자열로 만들어주는 함수
["1", "234", "5"].joined() // "12345"

// 동일 코드
["1", "234", "5"].compactMap {$0}

["문자열"].joined(separator:)

  • 문자열 배열.joined(separator:): 문자열 배열을 결합할 때 separator (구분자)를 추가하여 결합하는 함수
["1", "234", "5"].joined(separator: " ") // "1 234 5"

활용 - 문자열에서 공백 삭제

extension String {
    func removeWhitespaces() -> String {
        return components(separatedBy: .whitespaces).joined()
    }
}

"1 2345".removeWhitespaces() // "12345"

활용 - 문자열에서 콤마 삭제

extension String {
    removeComma() -> String {
        return components(separatedBy: ".").joined()
    }
}

"1.2.3".removeComma() // "123"

활용 - 특정 문자열 삭제

extension String {
    remove(target string: String) -> String {
        return components(separatedBy: string).joined()
    }
}

"12345".remove(target: "23") // "135"

 

Comments