Есть ли что-то похожее на функцию indexOf
в объектах NSString?NSString indexOf в Objective-C
ответ
Применение -[NSString rangeOfString:]
:
- (NSRange)rangeOfString:(NSString *)aString;
Находит и возвращает диапазон первого вхождения заданной строки в приемнике.
Я написал категорию, чтобы расширить оригинальный объект NSString. Может быть, вы, ребята, можете это сделать. (Вы также можете увидеть article в моем блоге тоже.)
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
Лучшее использование NSRange должно быть следующим: `code` - (int) indexOf: (NSString *) текст { NSRange range = [self rangeOfString: текст]; если (диапазон.location! = NSNotFound) { return range.location; } прочее { возвращение -1; } } `code` – loretoparisi 2011-10-12 10:35:08
Если вы хотите просто знать, когда натянуть содержит строки б используйте мой способ сделать это.
#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
}
Это менее читаемое, но и повышает производительность
Я знаю, что уже поздно, но я добавил категорию, которая реализует этот метод и многие другие, подобного яваскрипт строковых методов
https://github.com/williamFalcon/WF-iOS-Categories
- 1. NSString вопрос в ObjectiveC
- 2. Как разделить новую строку от NSString в ObjectiveC
- 3. Передача переменных в ObjectiveC
- 4. ObjectiveC: Странное поведение при использовании NSString и __weak с ARC
- 5. ObjectiveC, создавая массив классов
- 6. ObjectiveC - конструктор, управление памятью
- 7. Назначение ObjectiveC и init?
- 8. Метод не найден в ObjectiveC
- 9. JSON ObjectiveC - Ошибка
- 10. Меняем адрес двух объектов ObjectiveC
- 11. ObjectiveC NSMutableArray добавить NSMutableDictionary выпуск
- 12. Авторитарное описание строковых литералов ObjectiveC?
- 13. Попытка реализовать протокол ObjectiveC в Swift
- 14. AES Расшифровка с использованием ObjectiveC
- 15. Преобразование выражения ObjectiveC в SWIFT
- 16. ObjectiveC NSURLSessionDownloadTask
- 17. Объединить строки в ObjectiveC
- 18. Статическая переменная в ObjectiveC
- 19. Вычисление пересечения в ObjectiveC
- 20. AMF0 парсер в ObjectiveC
- 21. NumberFormatter - ObjectiveC
- 22. Брус использование @property в ObjectiveC Xcode
- 23. Отправка данных на сервер в ObjectiveC
- 24. разрыв с БГД на этикетке в ObjectiveC
- 25. ObjectiveC UIImage update view blocking
- 26. Анализ графических свойств метатегов/Object в ObjectiveC
- 27. конкатенации Аудио Буферы в ObjectiveC
- 28. Swift framework в проекте ObjectiveC
- 29. программирование в C++ любит objectivec
- 30. методы Переопределение класса в ObjectiveC
И `NSRange. location` является фактическим индексом. – devios1 2014-08-14 20:51:47
`if (NSRange.location! = NSNotFound)`, тогда вы нашли совпадение. – 2016-06-21 14:26:32