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