使用正则表达式

时间:2015-08-03 22:04:09

标签: java regex

我想提取句子:

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>”符号前面的单词,紧跟在后面的句子的其余部分(单词是随机的和句子)。

1 个答案:

答案 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.