我目前正在编写一个习惯跟踪iOS应用程序。因此,我喜欢添加自然文本处理,以创建习惯应该记录的间隔。
例子如下:
我做了一些研究,发现Apple有一些API可以进行文本处理。
不幸的是,我不太确定它是否提供了构建此解析器/处理器以及如何实现它所需的任何东西。我看了NSDataDetector
但是在这个帮助下我只能解析日期和时间:
func process(string:String) -> [NSDate] {
var matches:[NSDate] = []
do {
let dataDetector = try NSDataDetector(types: NSTextCheckingType.Date.rawValue)
dataDetector.enumerateMatchesInString(string, options: [], range: NSMakeRange(0, string.characters.count), usingBlock: { (result : NSTextCheckingResult?, flag : NSMatchingFlags, ump : UnsafeMutablePointer<ObjCBool>) -> Void in
if let result = result {
if let resultDate = result.date {
matches.append(resultDate)
}
}
})
} catch let error as NSError {
print(error.description)
}
return matches
}
我希望得到一些关于如何扩展Apple API使用的建议,以便解析上述示例或其他解决方案以实现我的目标。