我有一个很棒的HTML文件。
在该文件的某处,有一行像这样
<span class="xcomponent">pls do not delete me</span>
我需要摆脱这些东西,但要留下它们之间的东西。
我正在使用Java,我认为正确的方法是正则表达式 - 我只是没有足够的经验来使用正则表达式来解决这个问题。
如果有任何帮助,这就是我的'黑暗刺中'。
.*?(<span class="xcomponent">.*?</span>).*?
答案 0 :(得分:1)
这就是你想要的:
Pattern p = Pattern.compile("<span class="xcomponent">(.*?)</span>");
Matcher m = p.matcher(html);
m.replaceAll("$1");
答案 1 :(得分:0)
myString.replaceAll("<span class=\"xcomponent\">(.*?)</span>", "$1")
答案 2 :(得分:0)
我是从记忆中写下来的,所以会有一些msalle错误:
Pattern p = Pattern.compile(".*?(<span class="xcomponent">pls do not delete me</span>).*");
Matcher m = p.matcher(yourLine);
if (matcher.matches()) { yourLine = matcher.group(1); }
如果你想摆脱标签,请随意在正则表达式中移动括号,并且只留下内部文本。
答案 3 :(得分:0)
我认为这条线看起来总是像
<Something>WHATYOU WANT</closeSomething>
你并不关心这件事。比正则表达式看起来像:
<.*>.*</.*>
使用此行,您只需使用匹配器确保该行包含上面的模式。 现在你只需使用split方法并在每个&lt;和&gt;
string.split("<|>")[2]
第一个或第三个是你想要的。如果错误的话,我没有测试它。