在Obj-c中获取带有模式的子字符串的一般方法是什么?

时间:2012-03-22 14:31:14

标签: objective-c string nsstring

通过例子告诉它更容易。 我有http://domain/product/view/id/之类的网址。如何从网址中获取id? 我个人认为,

  1. 我可以在最后两个斜杠之间得到字符串。但我需要灵活处理http://domain/product/view/id/title/等扩展网址。而且我不能指望URL包含最后一个斜杠。

  2. 匹配前缀http://domain/product/view/,然后在下一个斜杠前获取ID。

  3. 我喜欢在PHP中使用正则表达式,但在obj-c中似乎没有内置的正则表达式系统。所以我需要第三方库,例如RegexKitLite

  4. 我想讨论实现这些功能的常用或最佳方法。

2 个答案:

答案 0 :(得分:3)

获取子串的方法有多种

  • NSRegularExpressions - 您通常对正则表达式的期望。
  • NSScanner - 扫描仪最有可能满足您的需求。如果你想解析一个字符串,你可以使用它。即你可以使用这个创建自己的XML解析器(因为有NSXMLParser,但我只是说,这是毫无意义的。)

但是在您的情况下,由于您正在处理URL,因此以下其中一项可能更适合:

答案 1 :(得分:0)

当然在obj-c中有内置的正则表达式,它被称为NSRegularExpression