NSString question - rangeOfString method

心已入冬 提交于 2019-11-27 13:30:16

问题


I am having an issue that I can't figure out.

I'm trying to run the rangeOfString method on a string, and I'm not sure how to determine if the string was not found. For example:

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

Clearly, "d" is not contained in the string "abc." I'd like to be able to do this:

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

What is the code for this?

Thanks!!


回答1:


From the documentation of NSString

-[NSString rangeOfString]

Return Value

An NSRange structure giving the location and length in the receiver of the first occurrence of aString. Returns {NSNotFound, 0} if aString is not found or is empty (@"").

So it looks like:

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

Is the Apple-approved way.

EDIT:

I made a really bad typo, fixed it, thanks Kalle.




回答2:


Check the length of the range. If it's non-zero, it was found.



来源:https://stackoverflow.com/questions/3504420/nsstring-question-rangeofstring-method

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!