NSString问题 - rangeOfString方法

时间:2010-08-17 15:55:14

标签: iphone nsstring

我遇到了一个我无法弄清楚的问题。

我正在尝试对字符串运行rangeOfString方法,但我不确定如何确定是否找不到该字符串。例如:

NSRange range = [@"abc" rangeOfString:@"d" options:NSCaseInsensitiveSearch range:NSMakeRange(0,3)];

显然,“d”不包含在字符串“abc”中。我希望能够做到这一点:

if(the range is empty since "d" is not in "abc")
   //do something

这是什么代码?

谢谢!

2 个答案:

答案 0 :(得分:71)

来自 NSString

的文档
-[NSString rangeOfString]
  

返回值

     

NSRange结构给出了   接收器中的位置和长度   第一次出现aString。   如果aString是,则返回 {NSNotFound,0}   未找到或为空(@“”)。

所以看起来像:

if ([@"abc" rangeOfString:@"d"].location == NSNotFound){
  //Do something

是Apple批准的方式。

编辑:

我做了一个非常糟糕的错字,修好了,谢谢Kalle。

答案 1 :(得分:14)

检查范围的长度。如果它不为零,则会找到它。