我有一个HTML字符串(德语),如下所示:
<li>Peter Goldberg Dr. , Brünner Straße 19, A-1210, Tel +43-1-1234567 (N)</li>
它由3部分组成:
我需要将整个字符串拆分为这3个组件而不使用HTML列表标记<li>
和</li>
。
我正在尝试使用Pattern和Matcher类,但我确实做错了。
Pattern myPattern = Pattern.compile("<li>.+,.+Tel.+</li>");
Matcher mat = myPattern.matcher(eingabe[0]);
while (mat.find()) {
System.out.println(mat.group(0));
}
有人可以帮忙吗?
非常感谢!!
答案 0 :(得分:1)
您可以使用此正则表达式获取li
标记内的所有元素并将其拆分:
String s = "<li>Peter Goldberg Dr. , Brünner Straße 19, A-1210, Tel +43-1-1234567 (N)</li>";
Pattern myPattern = Pattern.compile("<li>(.*)</li>");
Matcher mat = myPattern.matcher(s);
String [] array;
while (mat.find()) {
array = mat.group(1).split(",");
System.out.println("Name: " + array[0]);
System.out.println("Address: " + array[1] + "," + array[2]);
System.out.println("Telephone: " + array[3]);
}
<强>结果:强>
Name: Peter Goldberg Dr.
Address: Brünner Straße 19, A-1210
Telephone: Tel +43-1-1234567 (N)
答案 1 :(得分:1)
您可以使用此正则表达式:
<li>(.*?), (.*), (.*)<\/li>
<强> Working demo 强>
MATCH 1
1. [4-23] `Peter Goldberg Dr. `
2. [25-50] `Brünner Straße 19, A-1210`
3. [52-78] `Tel +43-1-1234567 (N)`