如何保留componentsSeparatedByCharactersInSet:方法的分隔符?

时间:2012-09-10 11:53:03

标签: xcode nsstring

我遇到Xcode的问题:有一个包含几个句子的长字符串。我被要求将这些句子分开。所以我使用了方法- (NSArray *)componentsSeparatedByCharactersInSet:(NSCharacterSet *)separator。分隔符是NSCharacterSet,具有不同的符号,例如“。?!”。这种方法正确地分隔句子,除了所有的标点都消失了。

例如,长字符串是“这是第一句。这是第二句吗?”,我得到的结果是一个包含两个句子的数组“这是第一句话”和“这是第二句话”错过了期间和问号。

那么,我该如何保留这种方法的分隔符呢?

1 个答案:

答案 0 :(得分:1)

如果您想将字符串拆分为句子,单词等语言标签,那么最好使用iOS 5.0中引入的NSLinguisticTagger类。来自文档:

  

NSLinguisticTagger类用于自动分段   自然语言文本并用信息标记它,例如部分   讲话。

NSLinguisticTagger适用于多种不同的语言,可以让您更轻松。还有WWDC 2012 video 215 - "Text and Linguistic Analysis"向您展示如何使用它。