[ios] 문장 경계 탐지

iOS 앱을 개발하다 보면 문장이나 단락 단위로 텍스트를 처리해야 하는 경우가 많습니다. 이를 위해 iOS에서는 문장 경계를 탐지하고 텍스트를 적절히 분리할 수 있는 다양한 기능을 제공하고 있습니다.

문장 경계 탐지 API

iOS에서는 NSLinguisticTagger 클래스를 사용하여 문장 경계를 탐지할 수 있습니다. 이 클래스는 자연어 처리를 위한 다양한 기능을 제공하며, 문장 경계 탐지 또한 그 중 하나입니다. 다음은 NSLinguisticTagger를 사용하여 문장 경계를 탐지하는 간단한 예제 코드입니다.

let text = "안녕하세요? 반갑습니다. iOS 개발이 재미있네요!"
let tagger = NSLinguisticTagger(tagSchemes: [.tokenType], options: 0)
tagger.string = text

let options: NSLinguisticTagger.Options = [.omitWhitespace, .omitPunctuation]
let range = NSRange(location: 0, length: text.utf16.count)
tagger.enumerateTags(in: range, unit: .sentence, scheme: .tokenType, options: options) { tag, tokenRange, _, _ in
    let sentence = (text as NSString).substring(with: tokenRange)
    print(sentence)
}

위 예제 코드에서는 NSLinguisticTagger를 사용하여 주어진 텍스트에서 문장을 탐지하고 각 문장을 출력하는 예제를 보여줍니다.

참고자료

NSLinguisticTagger - Apple Developer Documentation

위의 참고자료를 통해 더 자세한 정보를 확인할 수 있습니다.

위와 같이 iOS에서는 NSLinguisticTagger를 사용하여 문장 경계를 탐지할 수 있으며, 이를 통해 텍스트 처리를 보다 효율적으로 수행할 수 있습니다.