2013-08-23 44 views
1

我不知道如何描述問題,但我想要分開的句子,例如:NSString componentsSeparatedByCharactersInSet:如何分隔WITH標點符號?

那是什麼?那是一條狗,一條小狗。

到組件:

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

因此,這將有標點,問題是一些句子沒有足夠的空間,那麼像?

那是什麼這是一個狗,一條小狗。

然後,如果我與空間分開,我會得到「that?that」和「dog,a」。

有沒有辦法做到這一點?

我正在考慮做兩遍,一個使用[[NSCharacterSet lettersCharacterSet] inverseSet]來獲得純字母(即單詞),然後使用lettersCharacterSet作爲分隔符來獲取所有的空格和標點符號,並附加每一個第一遍中每個單詞的空格/標點符號,不確定它是否有效?

+1

「不知道,如果它的工作原理」,你爲什麼不嘗試一下呢? – BergP

回答

7

在這裏你去...

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

禮貌這個問題Split NSString into words, then rejoin it into original form ...

+2

簡單。優雅。 +1 –

相關問題