[iOS/Swift] 문자열을 배열로 바꾸는 방법, 문자열 String 과 문자 배열 [Character]

이민경·2022년 10월 22일
0

Swift의 문자열 String은 C언어 기반의 문자열과는 차이가 있다. C언어 기반의 다른 언어들에서는 인덱스 참조를 사용해서 원하는 글자를 참조하고 변경할 수 있지만 Swift에서는 인덱스 참조가 불가능하다.

애플에서 유니코드까지 고려하면 character 크기가 항상 1바이트일 수 없기 때문에 고려해서 만든 String타입이라고 하는데, 이 부분은 추후에 다시 확인해봐야 할 것 같다.



우리가 다른 언어들에서처럼 문자열에 대해 인덱스 참조를 하기 위해서는 문자열을 배열로 바꾸는 것이 필요하다.






1. Array로 타입 변환(형변환)하기

import Foundation

let myString: String = "Hello, World!"
let myArray: Array<Character> = Array(myString)

print(type(of: myArray))
// Array<Character>
print(myArray)
// ["H", "e", "l", "l", "o", ",", " ", "W", "o", "r", "l", "d", "!"]





2. 고차함수 map 사용하기

import Foundation

let myString: String = "Hello, World!"
let myArray: Array<Character> = myString.map{ $0 }

print(type(of: myArray))
// Array<Character>
print(myArray)
// ["H", "e", "l", "l", "o", ",", " ", "W", "o", "r", "l", "d", "!"]





0개의 댓글