让我说我有:
this - is an - example - with some - dashes
NSRange
将使用`rangeOfString:@“来获取” - “的第一个实例 - ”但如果我只想要最后一个呢?
我正在寻找与lastIndexOf
中的JS
类似的内容。 谢谢!的
答案 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,它设计用于循环字符串,随时抓取令牌。