Swift - components, split
2022. 9. 30. 16:59ㆍios
Swift - components, split
components, split 둘 다 똑같은 거 아니야?
swift에서 문자열을 특정 문자를 기준으로 배열을 만들어주는 메서드는 components와 split이 있다.
그렇다면 두 개의 차이점은 무엇일까?
먼저 components는 아래와 같다.
단순히 문자를 기준으로 문자열 배열을 만들어 주는 것이다.
사용 예시
import Foundation
let str = "a0b1c3"
print(str.components(separatedBy: ["b", "c"])) // output: ["a0", "1", "3"]
split은 components보다 인자가 많고 더 기능이 많다.
눈에 띄게 다른 점은 두 가지가 있다.
1. 인자를 받아 참인지 거짓인지를 확인하는 whereSeparator변수가 존재한다.
2. return 타입이 [Self.subSequence]기 때문에 String배열로 만들기 위해서는 별도로 map함수로 매핑해야 한다.
첫 번째 인자 maxSplit은 쪼갤 개수이다. 즉 maxSplits가 1이라면 한번만 쪼개는 것이다.
두 번째 인자 omittingEmptySubsequences는 split의 결과로 맨 뒤에 공백을 넣을지 말지를 true/false로 지정하는 것이다.
마지막 인자인 whereSaparator가 split의 핵심이라고 생각한다.
components는 인자로 조건을 넣을 수 없지만 split은 조건을 통해서 필터링 기능을 할 수가 있다.
let str = "a0b1c3"
print(str.split(whereSeparator: {$0.isLetter})) // output: ["1", "2", "3"]
'ios' 카테고리의 다른 글
iOS - xib를 이용해서 Custom View 만들기 (0) | 2022.10.10 |
---|---|
Swift - 문자열 인덱스 (1) | 2022.10.04 |
Swift - zip (0) | 2022.09.30 |
Swift - 순열과 조합 구현하기 (0) | 2022.09.29 |
Swift - Set 톺아보기 (0) | 2022.09.28 |