NSRegularExpression (iOS)

У меня есть небольшая проблема с разбором HTML в строку. У меня большая строка, и мне нужно удалить символы между тегом "script". Что-то вроде этого :

    <script...>Some text here</script>

Поэтому мне нужно удалить «Некоторый текст здесь». Я думаю, было бы здорово использовать NSRegularExpression. Кто-нибудь может мне помочь ? Большое спасибо.


person Seliver    schedule 06.03.2014    source источник


Ответы (1)


Хотя вам, как правило, рекомендуется не анализировать HTML с помощью регулярных выражений (см. мой любимый ответ S.O.), вы можете аппроксимируйте его чем-то вроде:

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"<script.*?>(.*?)</script>"
                                                                       options:NSRegularExpressionCaseInsensitive | NSRegularExpressionDotMatchesLineSeparators
                                                                         error:&error];

[regex enumerateMatchesInString:string
                        options:0
                          range:NSMakeRange(0, [string length])
                     usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) {

                         NSLog(@"%@", [string substringWithRange:[result rangeAtIndex:1]]);
                     }];
person Rob    schedule 06.03.2014