我想提取句子:
str="<a href=\"https://blabla.com/truck\">truck</a> A wheeled, powered motor vehicle used for transportation."
结果:
truck A wheeled, powered motor vehicle used to tranportation.
无法找到一种使用正则表达式正常提取句子的方法,每当缺少某些内容时。
编辑:所需结果的结构是“</a>
”符号前面的单词,紧跟在后面的句子的其余部分(单词是随机的和句子)。
答案 0 :(得分:2)
在这种情况下,简单删除<
和>
之间的文字应该可以解决问题:
String str="<a href=\"https://blabla.com/truck\">truck</a> A wheeled, powered motor vehicle used for transportation.";
System.out.println(str.replaceAll("<[^>]*>", ""));
但通常避免使用正则表达式来解析HTML 。它有很多潜在的问题。你可以在这里阅读它们:
使用适当的解析器,如Jsoup,可以为您完成所有艰苦的工作。
String str="<a href=\"https://blabla.com/truck\">truck</a> A wheeled, powered motor vehicle used for transportation.";
Document doc = Jsoup.parse(str);
String text = doc.text();//get text which this HTML structure will generate in browser
System.out.println(text);
结果:truck A wheeled, powered motor vehicle used for transportation.