iPhone: Как проверить, существует ли подстрока в строке? - PullRequest
35 голосов
/ 06 апреля 2011

У меня есть какое-то имя строки, и я хочу сравнить, содержит ли эта строка подстроку, например "_thumb.png".

Ответы [ 6 ]

63 голосов
/ 06 апреля 2011
[string rangeOfString:string1].location!=NSNotFound

rangeOfString: документация.

16 голосов
/ 12 апреля 2011

Вы можете попробовать это:

NSString *originalString;
NSString *compareString;

Пусть ваш string будет сохранен в originalString, а substring, который вы хотите сравнить, будет сохранен в compareString.

if ([originalString rangeOfString:compareString].location==NSNotFound)
{       
    NSLog(@"Substring Not Found");  
}
else
{
    NSLog(@"Substring Found Successfully");
}
3 голосов
/ 01 марта 2012

Ответ Штейнберга выглядит довольно хорошо, но есть и такой:

NSRange textRange;
textRange =[string rangeOfString:substring];

if(textRange.location != NSNotFound)
{

//Does contain the substring
}

, который я нашел здесь .

2 голосов
/ 19 июня 2014
NSString *string = @"hello bla bla";
if ([string rangeOfString:@"bla"].location == NSNotFound)
{
    NSLog(@"string does not contain bla");
}  
else 
{
    NSLog(@"string contains bla!");
}
1 голос
/ 22 мая 2015

В ios 8 или ОС X 10.10 мы можем использовать.

if(![textLine containsString:@"abc"])
{
     [usableLines addObject:textLine];
}
0 голосов
/ 06 апреля 2011

вы можете пройти через это

http://objcolumnist.com/2009/04/12/does-a-nsstring-contain-a-substring/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...