Swift:
부분 문자열 추출
How to: (어떻게 하나요?)
Swift에서 문자열의 일부를 추출하는 기본적인 방법들을 살펴봅시다. 아래 예시 코드를 따라 해 보세요.
let fullString = "Hello, Swift World!"
let startIndex = fullString.index(fullString.startIndex, offsetBy: 7)
let endIndex = fullString.index(fullString.startIndex, offsetBy: 11)
// Range를 사용해 부분 문자열 추출
let substring1 = fullString[startIndex...endIndex]
print(substring1) // "Swift"
// 범위 없이 시작과 끝 인덱스 사용
let substring2 = fullString[startIndex..<endIndex]
print(substring2) // "Swif"
// 특정 문자를 기준으로 분할
if let commaIndex = fullString.firstIndex(of: ",") {
let substring3 = fullString[..<commaIndex]
print(substring3) // "Hello"
}
Deep Dive (심도있게 살펴보기)
Swift에서 문자열을 다루는 작업은 Foundation 프레임워크와 Swift의 표준 라이브러리에 기반하여 발전해왔습니다. 문자열의 불변성(Immutability)과 인코딩의 표준화를 위해 Swift 4부터는 String
구조체가 StringProtocol
을 준수하도록 바뀌었습니다.
앞선 방식 외에도, NSString
라이브러리의 메소드를 활용해 좀 더 복잡한 문자열 조작을 할 수 있어요. 또한 정규 표현식을 사용해 문자열을 추출하는 방법도 있지요. 하지만 이 글에서는 더 단순하면서도 스위프트 스러운 방법 위주로 설명하겠습니다.
Substring
은 문자열에서 임시적으로 나온 부분으로, 메모리를 효율적으로 사용하기 위해 원래 문자열을 참조합니다. 하지만 오랜 시간 동안 저장해두려면 String
으로 변환하는 것이 좋습니다.