ios nsrange char来自最后

时间:2012-02-02 16:27:13

标签: ios nsrange

让我说我有:

this - is an - example - with some - dashes

NSRange将使用`rangeOfString:@“来获取” - “的第一个实例 - ”但如果我只想要最后一个呢?

我正在寻找与lastIndexOf中的JS类似的内容。 谢谢!

2 个答案:

答案 0 :(得分:6)

您可以传递给[NSString rangeOfString: options:]的其中一个选项是NSBackwardsSearch(它会为您提供您正在查看的字符串中的最后一项)。

答案 1 :(得分:2)

还有另一种rangeOfString方法:

- (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask range:(NSRange)aRange

这允许您指定要在其中搜索的范围,因此您可以在循环中查找每个范围,然后将其从搜索范围中排除,然后重试,直到没有更多匹配。

根据您的目的,您可能会有更多运气:

NSArray *components = [string componentsSeparatedByString:@" - "];

这会将你的字符串分成由@“ - ”分隔的每个部分并将它们返回到数组中 - 然后你可以使用[components lastObject]获取最后一个;

另一个选择是使用NSScanner,它设计用于循环字符串,随时抓取令牌。