我需要从字符串中提取字符串。该字符串包含html-tags。
以下是一个示例字符串:
<span class="artist-name">John Doe</span> <span class="artist-instrument">Violin</span>
我需要的只是名字(John Doe)。名称和工具各不相同。我试过以下正则表达式不起作用:
/\<span[ ]class=\"artist-name\"\>(.*?)\<\/span\>/si
我正在使用基于Java的CMS的FirstSpirit。
谢谢!
答案 0 :(得分:0)
一个选项可能是使用专用库:Jericho HTML http://jericho.htmlparser.net/docs/index.html,特别是此代码:http://jericho.htmlparser.net/samples/console/src/ExtractText.java
这可能是比自定义正则表达式更好的解决方案,已知这些正则表达式难以维护。
答案 1 :(得分:0)
代码将字符串分隔为&lt;和&gt;,并通过查看HTML元素的其余部分来查找相关字符串。
String toTest = "<span class=\"artist-name\">John Doe</span>";
String[] split = toTest.split("<|>");
for(int i = 0; i < split.length-1; i++){
if(split[i].equals("span class=\"artist-name\"")){
System.out.println(split[i+1]);
}
}