0

我想在某些部分之后从下面的 html 中删除所有字符串。

<br>
<br>
</div>
<div class="notation_notes">
<hr>
<br>
●表記について&lt;br>
<ul>
    <li>このファイルは W3C 勧告 XHTML1.1 にそった形式で作成されています。&lt;/li>
    <li>[#…]は、入力者による注を表す記号です。&lt;/li>
</ul>
</div>
<div id="card" style="display: block; ">
<hr>
<br>
<a href="JavaScript:goLibCard();" id="goAZLibCard">●図書カード</a><script type="text/javascript" src="../../contents.js"></script>

我想删除此标签后的所有代码。

  <div class="notation_notes">

我的代码在这里,但它不会改变任何结果。谁能帮我解决这个问题?

NSArray *regExPatternList = @[@"<div class=\"notation_notes\">(.*)"];


NSRegularExpression *regexp = [NSRegularExpression regularExpressionWithPattern:regExPattern
                                                                        options:0
                                                                          error:nil];

html = [regexp stringByReplacingMatchesInString:html
                                        options:0
                                          range:NSMakeRange(0,html.length)
                                   withTemplate:@""];
4

1 回答 1

1

在我看来,正则表达式并不是您想要实现的目标的首选武器。<div class="notation_notes">只需使用 NSStringrangeOfString方法搜索字符串。然后提取您想要使用的字符串部分substringWithRange。它更简单,而且性能也更好。

您的正则表达式不起作用的原因可能是因为您NSRegularExpressionDotMatchesLineSeparators在编译模式时没有使用作为正则表达式选项。没有它,您的(.*)点将不匹配新行。

于 2013-05-11T10:55:11.830 回答