Поиск в NSString слов, которые начинаются с определенного текста и заканчиваются на " - PullRequest
3 голосов
/ 14 февраля 2012

У меня есть строка NSString, содержащая HTML-код веб-страницы. Теперь, как мне найти во всей строке все слова, которые начинаются с 'data-src = "http://' и заканчиваются на"? Я сохраню их в массиве. Моя строка называется urlPage

PS: я не хочу, чтобы слова имели 'data-src = "http://' and". Я просто хочу слова между этими 2

Ответы [ 2 ]

1 голос
/ 14 февраля 2012

Вот пример кода:

NSString *string;
NSString *pattern;
NSRegularExpression *regex;

string = @" aa data-src=\"http://test1\" cd data-src=\"http://test2\" cd";
pattern = @"data-src=\"http://([^\"]+)\"";

regex = [NSRegularExpression
         regularExpressionWithPattern:pattern
         options:NSRegularExpressionCaseInsensitive
         error:nil];

NSArray *matches = [regex matchesInString:string
                                  options:0
                                    range:NSMakeRange(0, [string length])];

for (NSTextCheckingResult *match in matches) {
    NSRange range = [match rangeAtIndex:1];
    NSLog(@"match: '%@'", [string substringWithRange:range]);
}

Вывод NSLog:
match: 'test1'
match: 'test2'

0 голосов
/ 14 февраля 2012

Лучше всего использовать NSRegularExpression для поиска строки. Особенно метод enumerateMatchesInString:options:range:usingBlock:. В этом методе вы получите результат, который соответствует вашему регулярному выражению, и вы можете вручную убрать начальную часть и знак вопроса, если хотите.

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