문자열 분리 및 결합
Coddy Swift 여정의 로직 및 흐름 섹션에 포함된 레슨. 56개 중 4번째.
구분된 텍스트를 다루기 위한 일상적인 도구 두 가지입니다. 둘 다 이미 가져온 Foundation에서 제공합니다.
components(separatedBy:) 전달한 구분 기호를 기준으로 문자열을 String 배열로 나눕니다:
let csv = "red,green,blue"
let parts = csv.components(separatedBy: ",")
print(parts) // ["red", "green", "blue"]반대 작업은 모든 [String]에 사용할 수 있는 joined(separator:)입니다.
let words = ["swift", "is", "fun"]
let line = words.joined(separator: " ")
print(line) // "swift is fun"다음과 같이 함께 사용하는 경우가 많습니다. 분할하고, map으로 변환한 다음, 다시 합칩니다. [String]에 대한 map의 결과도 여전히 [String]이므로 joined를 바로 사용할 수 있습니다.
챌린지
쉬움입력에서 쉼표로 구분된 words 목록인 한 줄을 읽습니다.
다음 세 줄을 출력합니다:
,로 분할한 후의 words 개수>(공백, 보다 큼 기호, 공백)으로 다시 결합한 words를 대문자로 변환한 결과- 목록에서 가장 긴 words(분할 후). 두 words의 길이가 같으면 first로 나타나는 것을 사용합니다.
입력이 red,green,blue인 경우 출력은 다음과 같습니다:
3
RED > GREEN > BLUE
green직접 해보기
let line = readLine()!
let words = line.components(separatedBy: ",")
// TODO: 개수 출력, " > "로 연결하여 대문자화, 가장 긴 첫 단어
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
로직 및 흐름의 모든 레슨
직접 연습해 보세요: Swift 플레이그라운드