匹配NSString中单词的开头

时间:2008-12-22 22:32:09

标签: iphone objective-c cocoa string

是否有一个内置于NSString的方法,它会对字符串进行标记并搜索每个标记的开头? compare方法似乎只是字符串的开头,而使用rangeOfString并不足够,因为它不知道令牌。现在我认为最好的方法就是打电话

[myString componentsSeparatedByString:@" "]

然后遍历结果数组,在字符串的每个组件上调用compare。这是内置的,我只是错过了吗?

2 个答案:

答案 0 :(得分:5)

使用CFStringTokenizer,嗯,标记字符串比在@" "上拆分更有效,但搜索结果仍然由您决定。

答案 1 :(得分:2)

您可能需要查看RegexKit Lite:

http://regexkit.sourceforge.net/#RegexKitLite/

虽然它是第三方库,但它基本上是围绕内置相当强大的正则表达式引擎构建的非常小的(一个类)包装器。

这似乎更有用,因为您可以在令牌分隔符周围匹配非捕获表达式,然后捕获部分包括或不包括您要查找的文本以及令牌之间的剩余文本。如果您之前没有使用过正则表达式,那么您需要阅读某种引用,但请注意,您可以使用神秘而强大的语法将匹配模式与您希望查看的内容分开。

我也不确定您是否可以在iPhone上使用CFStringTokenizer,因为iPhone特定的文档集没有参考。