我有一个搜索字符串,人们可以在其中使用引号将短语组合在一起,并将其与各个关键字混合。例如,像这样的字符串:
"Something amazing" rooster
我想将其分离到一个 NSArray 中,这样它将 Something amazing
(不带引号)作为一个元素,将 rooster
作为另一个元素。
componentsSeparatedByString
和 componentsSeparatedByCharactersInSet
似乎都不符合要求。有没有一种简单的方法可以做到这一点,还是我应该自己编写代码?
最佳答案
您可能需要自己编写一些代码,但 NSScanner 应该是构建的良好基础。如果您使用 scanUpToCharactersInSet 方法来查找直到您的下一个空格或引号字符的所有内容,以便可以挑选单词。一旦遇到完全字符,您可以仅使用字符集中的引号继续扫描以结束,这样引号内的空格就不会导致标记结束。
关于objective-c - 将 NSString 分离到 NSArray 中,但允许引号对单词进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7193427/