Ich empfehle JSOUP
Parser zu verwenden, um Ihre Daten aus HTML
Code
1.) Analysieren Sie Ihre Daten als Document
mit Jsoup.parse(string)
Funktion zu extrahieren.
2.) Erhalten Sie die Daten von body
als Element
.
3.) Rufen Sie den Text Element
mit dem Tag element.text()
ab.
4.) Optional können Sie replaceAll("\\s*[,.]\\s*","")
verwenden, um alle Befehle und Punkte zu entfernen und Leerzeichen zu formatieren.
String stringText = "<html><head></head><body><p>Aa , aa.</p><p><b>Aa aa, aa.</b></p><p>Aa aa aa, aa.</p><p><i>Aa, aa.</i></p><p><b><i>B, b, b.</i></b></p><b>Aa aa, aa.</b></body></html>";
Document document =Jsoup.parse(stringText);
Element element=document.body();
String plain_String = element.text().replaceAll("\\s*[,.]\\s*"," ");
System.out.println(element.text()); // Actual text
System.out.println(plain_String); // Formatted text
Output:
Aa , aa. Aa aa, aa. Aa aa aa, aa. Aa, aa. B, b, b.Aa aa, aa.
Aa aa Aa aa aa Aa aa aa aa Aa aa B b b Aa aa aa
Download Jsoup hinzuzufügen als Abhängigkeit
\\s*[,.]\\s*
: \\s*
Spiel null oder mehr Räume
[,.]
: jedes Zeichen innerhalb []
bedeuten ,.
erwähnt entsprechen
Wenn Sie darauf bestehen, die regex
Lösung dann
verwenden
1.) Entfernen Sie zuerst alle unerwünschten Zeichen wie ,.
und Räume mit replaceAll("\\s*[.,]\\s*", " ")
2.) Verwenden Sie regex <p[<>ib]*>([\\w\\s]+)<\\/[\\w]>
mit Pattern
und Matcher
Ihren Text zu finden zwischen den Tags
3.Anfügen) Text der gefunden in StringBuilder
und zeigt das Ergebnis
-Code
String str = "<html><head></head><body><p>Aa , aa.</p><p><b>Aa aa, aa.</b></p><p>Aa aa aa, aa.</p><p><i>Aa, aa.</i></p><p><b><i>B, b, b.</i></b></p><b>Aa aa, aa.</b></body></html>";
Pattern pattern = Pattern.compile("<p[<>ib]*>([\\w\\s]+)<\\/[\\w]>");
Matcher matcher = pattern.matcher(str.replaceAll("\\s*[.,]\\s*", " "));
StringBuilder builder = new StringBuilder();
while (matcher.find()) {
builder.append(matcher.group(1));
}
System.out.println(builder);
Ausgang:
Aa aa Aa aa aa Aa aa aa aa Aa aa B b b
dieses 'Aa aa, aa. 'kann zwischen'
'und'
' –' Jsoup' kann auch alle 'p' Tags Daten auswählen, aber wieder Ausgabe wird dies' Aa aa, aa. 'da ist nicht innerhalb' p' und irgendwo haben Sie auch 'b' Tag innerhalb' p' –