【问题标题】:NSRegularExpression (iOS)NSRegularExpression (iOS)
【发布时间】:2014-04-09 01:08:06
【问题描述】:
A 在将 HTML 解析为字符串时遇到了一点问题。我有一个大字符串,我需要删除“脚本”标签之间的字符。像这样:
<script...>Some text here</script>
所以我需要删除“这里的一些文字”。我认为使用 NSRegularExpression 会很棒。有谁能够帮我 ?非常感谢。
【问题讨论】:
标签:
ios
nsstring
html-parsing
nsregularexpression
nsstringencoding
【解决方案1】:
虽然通常会建议您不要使用正则表达式解析 HTML(请参阅 my all-time favorite S.O. answer),但您可以使用以下内容进行近似:
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]]);
}];