首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ios nsrange焦炭

ios nsrange焦炭
EN

Stack Overflow用户
提问于 2012-02-02 16:27:13
回答 2查看 1.8K关注 0票数 1

假设我有:

this - is an - example - with some - dashes

NSRange将选择"-“和”`rangeOfString:@“的第一个实例,但是如果我只想要最后一个呢?

我正在寻找类似于lastIndexOf in JS的东西。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-02 16:31:12

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

票数 6
EN

Stack Overflow用户

发布于 2012-02-02 16:41:58

rangeOfString方法的另一个变体是:

代码语言:javascript
运行
复制
- (NSRange)rangeOfString:(NSString *)aString options:(NSStringCompareOptions)mask range:(NSRange)aRange

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

根据您想要做的事情,您可以使用以下方法获得更多的运气:

代码语言:javascript
运行
复制
NSArray *components = [string componentsSeparatedByString:@" - "];

这将将您的字符串拆分为由@“-”分隔的每个部分,并在数组中返回它们--然后您可以使用组件lastObject获得最后一个;

另一种选择是使用NSScanner,它是为遍历字符串而设计的,在运行过程中抓取令牌。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9115945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档