我遇到Xcode的问题:有一个包含几个句子的长字符串。我被要求将这些句子分开。所以我使用了方法- (NSArray *)componentsSeparatedByCharactersInSet:(NSCharacterSet *)separator
。分隔符是NSCharacterSet
,具有不同的符号,例如“。?!”。这种方法正确地分隔句子,除了所有的标点都消失了。
例如,长字符串是“这是第一句。这是第二句吗?”,我得到的结果是一个包含两个句子的数组“这是第一句话”和“这是第二句话”错过了期间和问号。
那么,我该如何保留这种方法的分隔符呢?
答案 0 :(得分:1)
如果您想将字符串拆分为句子,单词等语言标签,那么最好使用iOS 5.0中引入的NSLinguisticTagger
类。来自文档:
NSLinguisticTagger类用于自动分段 自然语言文本并用信息标记它,例如部分 讲话。
NSLinguisticTagger
适用于多种不同的语言,可以让您更轻松。还有WWDC 2012 video 215 - "Text and Linguistic Analysis"向您展示如何使用它。