日本語の分かち書きをしたいニーズがあったので、SwiftからNSLinguisticTaggerを使ってみました。 (品詞を返してくれたりはしないので、形態素解析ではないのです…)

import Foundation

let string = "このプログラムはSwiftで書かれています。"
var tokens = [String]()
string.enumerateLinguisticTagsInRange(
    string.startIndex..<string.endIndex,
    scheme: NSLinguisticTagSchemeTokenType,
    options: [.OmitWhitespace, .OmitPunctuation, .JoinNames],
    orthography: nil) { (tag, tokenRange, sentenceRange, stop) in
        let token = string.substringWithRange(tokenRange)
        tokens.append(token)
}
tokens.joinWithSeparator("|") // この|プログラム|は|Swift|で|書|か|れ|て|い|ます

なんという手軽さでしょうか…。

ソースコード

参考