[swift] 문자열에서 특정 단어의 출현 빈도 계산하기

문자열에서 특정 단어의 출현 빈도를 계산하는 것은 많은 애플리케이션에서 유용한 작업입니다. Swift에서 문자열에서 특정 단어의 출현 빈도를 계산하는 방법을 알아보겠습니다.

문자열에서 단어의 출현 빈도 계산

Swift에서는 String 타입의 components(separatedBy:) 메서드를 사용하여 문자열을 단어 단위로 분리할 수 있습니다. 그리고 Dictionary를 사용하여 각 단어의 출현 빈도를 저장할 수 있습니다.

let inputString = "Swift는 iOS 및 macOS 애플리케이션을 개발하기 위한 강력하고 직관적인 프로그래밍 언어입니다. Swift는 Apple에 의해 개발되었습니다."

let words = inputString.components(separatedBy: .whitespaces)
var wordFrequency = [String: Int]()

for word in words {
    wordFrequency[word, default: 0] += 1
}

print(wordFrequency)

위의 코드 예제는 입력 문자열을 단어 단위로 분리한 뒤, 각 단어의 출현 빈도를 계산합니다.

정규식을 활용한 단어의 출현 빈도 계산

때로는 정규식을 사용하여 문자열에서 단어를 추출하여 출현 빈도를 계산하는 것이 유용할 수 있습니다. Swift에서는 NSRegularExpression을 사용하여 정규식을 쉽게 적용할 수 있습니다.

import Foundation

let inputString = "Swift는 iOS 및 macOS 애플리케이션을 개발하기 위한 강력하고 직관적인 프로그래밍 언어입니다. Swift는 Apple에 의해 개발되었습니다."

let regex = try NSRegularExpression(pattern: "\\b\\w+\\b", options: .caseInsensitive)
let matches = regex.matches(in: inputString, options: [], range: NSRange(location: 0, length: inputString.utf16.count))

var wordFrequency = [String: Int]()

for match in matches {
    let word = (inputString as NSString).substring(with: match.range).lowercased()
    wordFrequency[word, default: 0] += 1
}

print(wordFrequency)

위의 코드 예제는 정규식을 사용하여 입력 문자열에서 단어를 추출한 뒤, 각 단어의 출현 빈도를 계산합니다.

이제 당신도 Swift를 사용하여 문자열에서 특정 단어의 출현 빈도를 쉽게 계산할 수 있습니다.