특정 문자들을 조합하여 만들어진 문자열(String)은 배열(Array)과 같은 데이터 바구니의 개념을 내포하고 있습니다.
이러한 데이터 바구니의 개념적 특징 덕분에 문자열을 배열로 또는 배열을 문자열로 쉽게 변환할 수 있습니다.
✅ 고차함수를 사용하여 문자열을 배열로 변환 1 (추천 방법)
고차함수를 사용하여 문자열을 배열로 변환할 때 문자(Character) 타입으로 반환하기 때문에 형 변환 작업을 거쳐 문자열(String) 타입의 배열로 사용해야 합니다.
(Character 타입은 사용에 있어 많은 제약이 존재하기 때문에 String 타입으로 사용하는 것을 추천)
var str = "Hello" var array = str.map { cha in String(cha) } print(array) // ["H", "e", "l", "l", "o"]
축약표현은 아래와 같습니다.
var str = "Hello" var array = str.map {String($0)} print(array) // ["H", "e", "l", "l", "o"]
✅ 배열의 생성자를 사용하여 문자열을 배열로 변환 2 (추천 X)
배열의 생성자를 사용하여 문자열(String)을 문자(Character) 타입의 배열로 변환하는 방법입니다.
해당 방법은 배열의 타입이 문자(Character) 타입이기 때문에 추천하는 방법은 아닙니다.
(Character 타입은 사용에 있어 많은 제약이 존재하기 때문에 String 타입으로 사용하는 것을 추천)
var str = "Hello" var array = Array(str) print(array) // ["H", "e", "l", "l", "o"] // [Character] 타입
✅ 배열의 생성자를 사용하여 문자열을 배열로 변환 3
배열의 생성자를 사용하여 문자열을 쪼개지 않고 문자 그대로를 문자열(String) 배열 타입으로 만드는 방법입니다.
var str = "Hello" var array = Array(arrayLiteral: str) print(array) // ["Hello"] // [String] 타입
✅ 문자열 타입의 배열을 문자열로 변환 [String] -> String
문자열 타입의 배열([String])을 문자열(String)로 변환하는 작업은
joined()
메서드를 사용하면 됩니다.var array = ["H","e","l","l","o"] // [String] var str = array.joined() print(str) // Hello
✅ 문자 타입의 배열을 문자열로 변환 [Character] -> String
문자 타입의 배열([Character])을 문자열(String)로 변환하는 작업은 문자열의 생성자를 사용하면 됩니다.
var array: [Character] = ["H","e","l","l","o"] var str = String(array) print(str) // Hello
문자열도 데이터 바구니의 한 종류이기 때문에 배열로 변환하는 작업이 가능합니다.