假设我有:
this - is an - example - with some - dashes
NSRange
将选择"-“和”`rangeOfString:@“的第一个实例,但是如果我只想要最后一个呢?
我正在寻找类似于lastIndexOf
in JS
的东西。谢谢!
发布于 2012-02-02 16:31:12
您可以传递给[NSString rangeOfString: options:]
的选项之一是NSBackwardsSearch (它将给您正在查看的字符串中的最后一项)。
发布于 2012-02-02 16:41:58
rangeOfString方法的另一个变体是:
- (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask range:(NSRange)aRange
这允许您指定要在其中搜索的范围,因此可以在循环中查找每个范围,然后将其排除在搜索范围之外,然后再试一次,直到没有更多匹配。
根据您想要做的事情,您可以使用以下方法获得更多的运气:
NSArray *components = [string componentsSeparatedByString:@" - "];
这将将您的字符串拆分为由@“-”分隔的每个部分,并在数组中返回它们--然后您可以使用组件lastObject获得最后一个;
另一种选择是使用NSScanner,它是为遍历字符串而设计的,在运行过程中抓取令牌。
https://stackoverflow.com/questions/9115945
复制相似问题