我有一个String格式<a>
的{{1}}个标签列表。
从此String中提取网址<a href="http://example.com">Example</a>
和标签http://example.com
的最佳方法是什么?
Currenty我使用substring方法来识别边界并获取url和标签。但使用正则表达式有更好的方法吗?
答案 0 :(得分:2)
您希望查看JSoup以从html中提取值。
他们提供的示例几乎完全符合您的要求here
Document doc = Jsoup.connect("http://jsoup.org").get();
Element link = doc.select("a").first();
String relHref = link.attr("href"); // == "/"
String absHref = link.attr("abs:href"); // "http://jsoup.org/"
答案 1 :(得分:1)
也许,你会选择一个优秀的HTML解析器。即JSoup。
String html = "<p>An <a href='http://example.com/'><b>example</b></a> link.</p>";
Document doc = Jsoup.parse(html);
Element link = doc.select("a").first();
String text = doc.body().text(); // "An example link"
String linkHref = link.attr("href"); // "http://example.com/"
String linkText = link.text(); // "example""
String linkOuterH = link.outerHtml();
// "<a href="http://example.com"><b>example</b></a>"
String linkInnerH = link.html(); // "<b>example</b>"
答案 2 :(得分:0)
这是正则表达式:
“\\”(。*?)\“\” (提取撇号之间的字符串)
虽然我建议您使用专门用于HTML属性提取的工具。
答案 3 :(得分:0)
您可以使用Apache commons substringBetween方法。