4 ответов:
использовать
-[NSString rangeOfString:]:- (NSRange)rangeOfString:(NSString *)aString;находит и возвращает диапазон первого вхождения заданной строки в приемник.
Если вы хотите просто знать, когда строка a содержит строку b, используйте мой способ сделать это.
#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; @endExtendNSStriing.м:
#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
Я знаю, что уже поздно, но я добавил категорию, которая реализует этот метод и многие другие, подобные строковым методам javascript
https://github.com/williamFalcon/WF-iOS-Categories
Comments