문자열(String)과 배열(Array)

썹스·2022년 12월 11일
0

Swift 문법

목록 보기
53/68

문자열(String)과 배열(Array)

특정 문자들을 조합하여 만들어진 문자열(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

요약정리

문자열도 데이터 바구니의 한 종류이기 때문에 배열로 변환하는 작업이 가능합니다.

profile
응애 나 코린이(비트코인X 코딩O)

0개의 댓글