NSString indexOf在Objective-C中

有什么类似于NSString对象中的indexOf函数吗?

使用-[NSString rangeOfString:]

 - (NSRange)rangeOfString:(NSString *)aString; 

查找并返回接收者中给定string的第一个出现的范围。

如果你只是想知道什么时候String一个包含stringb使用我的方式来做到这一点。

 #define contains(str1, str2) ([str1 rangeOfString: str2 ].location != NSNotFound) //using NSString a = @"PUC MINAS - BRAZIL"; NSString b = @"BRAZIL"; if( contains(a,b) ){ //TO DO HERE } 

这是不太可读,但提高性能

我写了一个类来扩展原始的NSString对象。 也许你们可以参考它。 (你也可以在我的博客中看到这篇文章 。)

ExtendNSString.h:

 #import <Foundation/Foundation.h> @interface NSString (util) - (int) indexOf:(NSString *)text; @end 

ExtendNSStriing.m:

 #import "ExtendNSString.h" @implementation NSString (util) - (int) indexOf:(NSString *)text { NSRange range = [self rangeOfString:text]; if ( range.length > 0 ) { return range.location; } else { return -1; } } @end 

我知道这是晚了,但我添加了一个类实现了这个方法和许多其他类似的JavaScriptstring方法
https://github.com/williamFalcon/WF-iOS-Categories