Поиск подстроки в объекте NSString - PullRequest
50 голосов
/ 01 сентября 2010

У меня есть объект NSString, и я хочу сделать из него подстроку, найдя слово.

Например, моя строка: «Собака съела кошку», я хочу, чтобы программа нашла слово «съел» и создала подстроку, которая будет «кошкой».

Может ли кто-нибудь мне помочь или привести пример?

Спасибо

Sagiftw

Ответы [ 7 ]

82 голосов
/ 01 сентября 2010
NSRange range = [string rangeOfString:@"ate"];
NSString *substring = [[string substringFromIndex:NSMaxRange(range)] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
16 голосов
/ 01 сентября 2010
NSString *str = @"The dog ate the cat";
NSString *search = @"ate";
NSString *sub = [str substringFromIndex:NSMaxRange([str rangeOfString:search])];

Если вы хотите обрезать пробел, вы можете сделать это отдельно.

8 голосов
/ 05 февраля 2013

А как насчет этого? Это почти то же самое. Но, возможно, значение NSRange будет проще для начинающих, если оно написано так.

Наконец, то же самое решение jtbandes

    NSString *szHaystack= @"The dog ate the cat";
    NSString *szNeedle= @"ate";
    NSRange range = [szHaystack rangeOfString:szNeedle];
    NSInteger idx = range.location + range.length;
    NSString *szResult = [szHaystack substringFromIndex:idx];
3 голосов
/ 04 сентября 2015

Попробуйте это ..

BOOL isValid=[yourString containsString:@"X"];

Этот метод возвращает true или false. Если ваша строка содержит этот символ, она возвращает true, а в противном случае возвращает false.

2 голосов
/ 11 мая 2012
NSString *theNewString = [receivedString substringFromIndex:[receivedString rangeOfString:@"Ur String"].location];

Вы можете найти строку, а затем получить искомую строку в другую строку ...

1 голос
/ 17 декабря 2013
-(BOOL)Contains:(NSString *)StrSearchTerm on:(NSString *)StrText
{
   return  [StrText rangeOfString:StrSearchTerm options:NSCaseInsensitiveSearch].location==NSNotFound?FALSE:TRUE;
}
0 голосов
/ 04 сентября 2015

Вы можете использовать любой из двух методов, предоставленных в классе NSString, например substringToIndex: и substringFromIndex:. Передайте ему NSRange в качестве длины и местоположения, и вы получите желаемый результат.

...