[swift] 문자열에서 숫자와 문자 분리하기

일반적으로 문자열에서 숫자와 문자를 분리하는 작업은 데이터 처리 및 텍스트 분석에 유용합니다. Swift에서는 문자열을 숫자와 문자로 분리하는데 다양한 방법이 있습니다. 이번 글에서는 그 중 몇 가지 방법을 살펴보겠습니다.

숫자와 문자 분리하기

문자열에서 숫자 추출하기

만약 주어진 문자열에서 숫자를 추출하고 싶다면, 정규 표현식을 사용하여 숫자 패턴을 찾아야 합니다. Swift에는 정규 표현식을 사용할 수 있는 NSRegularExpression 클래스가 있어서, 해당 클래스를 사용하여 숫자를 추출할 수 있습니다.

다음은 정규 표현식을 사용하여 문자열에서 숫자를 추출하는 예제입니다.

let inputString = "I have 2 apples and 3 oranges"
let pattern = #"\d+"#
let regex = try! NSRegularExpression(pattern: pattern, options: [])
let matches = regex.matches(in: inputString, options: [], range: NSRange(location: 0, length: inputString.utf16.count))

let numbers = matches.map {
    (inputString as NSString).substring(with: $0.range)
}
print(numbers) // ["2", "3"]

문자열에서 문자 추출하기

만약 주어진 문자열에서 숫자가 아닌 문자를 추출하고 싶다면, 문자열을 순회하면서 숫자가 아닌 문자를 추출할 수 있습니다.

다음은 문자열을 순회하여 알파벳만 추출하는 예제입니다.

let inputString = "I have 2 apples and 3 oranges"
let letters = inputString.filter { "a"..."z" ~= $0.lowercased() }
print(letters) // "Ihaveapplesandoranges"

이렇게 하면 주어진 문자열에서 알파벳만 추출할 수 있습니다.

결론

위 예제들을 통해 Swift에서 문자열에서 숫자와 문자를 분리하는 방법을 살펴보았습니다. 이러한 방법을 응용하면 다양한 텍스트 데이터에서 원하는 정보를 추출할 수 있을 것입니다.