[swift] 문자열에서 특정 단어의 등장 횟수 세기

많은 경우, 프로그램을 작성하다보면 주어진 문자열에서 특정 단어의 등장 횟수를 세는 기능이 필요할 수 있습니다. Swift에서는 이러한 기능을 구현하는 다양한 방법이 있습니다.

1. Components(separatedBy:) 메서드 사용

가장 간단한 방법 중 하나는 components(separatedBy:) 메서드를 사용하여 문자열을 특정 단어로 분할한 후 배열의 크기를 계산하는 것입니다.

예를 들어, 다음은 “Hello, Swift! Swift is awesome.” 문자열에서 “Swift”라는 단어의 등장 횟수를 계산하는 예제 코드입니다:

let str = "Hello, Swift! Swift is awesome."
let word = "Swift"
let count = str.components(separatedBy: word).count - 1
print(count)

2. 정규 표현식 사용

정규 표현식을 사용하면 더 유연하고 강력한 패턴 매칭이 가능합니다. Swift에서는 NSRegularExpression 클래스를 사용하여 이를 수행할 수 있습니다.

예를 들어, 다음은 정규 표현식을 사용하여 “Swift” 단어의 등장 횟수를 계산하는 예제 코드입니다:

let str = "Hello, Swift! Swift is awesome."
let word = "Swift"
let pattern = "\\b" + word + "\\b"
let regex = try NSRegularExpression(pattern: pattern, options: .caseInsensitive)
let count = regex.numberOfMatches(in: str, options: [], range: NSRange(location: 0, length: str.utf16.count))
print(count)

결론

Swift에서는 문자열에서 특정 단어의 등장 횟수를 세는 다양한 방법이 제공됩니다. 프로그램에 따라 적합한 방법을 선택하여 사용할 수 있습니다.