1

我不知道如何描述这个问题,但我想要的是将句子分开,例如:

那是什么?那是一只狗,一只小狗。

到组件:

"What", "is", "that?", "That", "is", "a", "dog", "a", "little", "dog."

所以会有标点符号,问题是有些句子没有空格,比如:

那是什么?那是一只狗,一只小狗。

然后如果我用空格分隔,我会得到“that?that”和“dog,a”。

有没有办法做到这一点?

我正在考虑进行两次传递,一次使用 [[NSCharacterSet lettersCharacterSet] inverseSet] 来获取纯字母(即单词),然后lettersCharacterSet用作分隔符来获取所有空格和标点符号,将每个空格/标点符号附加到每个第一遍中的单词,不确定它是否有效?

4

1 回答 1

7

干得好...

 NSMutableCharacterSet *seperatorSet = [NSMutableCharacterSet whitespaceAndNewlineCharacterSet];
 [seperatorSet formUnionWithCharacterSet:[NSCharacterSet punctuationCharacterSet]];
 NSMutableArray *words = [[@"What is that?That is a dog,a little dog." componentsSeparatedByCharactersInSet:seperatorSet] mutableCopy];

感谢这个问题 将NSString 拆分为单词,然后将其重新加入原始形式...

于 2013-08-23T12:13:14.353 回答