我正在寻找最快最简单的方法来确定一个单词子字符串是否出现在给定的从右到左字符串中。

值得注意的是,我将使用 Objective C 以及在 iPhone应用程序中实现该算法。我还搜索了该算法,发现我认为将KMP或BM之类的算法用于多于一个单词的子字符串。如果我的假设是错误的,请告诉我!

谢谢,
讽刺的。

最佳答案

怎么样:

if([string rangeOfString:@" foo "].location != NSNotFound)
    //I found it, yippee!!

编辑虽然我从未尝试过从右到左的字符串....而且我意识到这将与第一个或最后一个单词不匹配...所以在此之后,您也必须检查那些:-S

另一个编辑您也可以使用正则表达式。 NSRegularExpression类将允许您执行此操作。你想要的一个\s*foo\s*

10-08 04:56