Bevarelse af linjeskift, når du bruger Jsoup
1. Oversigt
I denne vejledning ser vi kort på de forskellige måder at bevarelse af linjeskift, når du bruger Jsoup til at analysere HTML til almindelig tekst. Vi vil dække, hvordan man opretholder linjeskift forbundet med newline (\ n) tegn samt dem, der er knyttet til og Jsoup fjerner den nye linjetegn (\ n) som standard fra HTML-teksten og erstatter hver ny linje med et mellemrumstegn. For at forhindre Jsoup i at fjerne de nye linjetegn kan vi dog ændre OutputSetting af Jsoup og deaktiver smuk udskrivning. Hvis smuk udskrivning er deaktiveret, formateres HTML-outputmetoderne ikke output, og output ser ud som input: Desuden kan vi bruge Jsoup#ren for at fjerne alle HTML-tags fra strengen: Lad os se, hvad vores outputstreng strWithNewLines ligner: Derfor kan vi se det ved at ringe Jsoup#ren med Hvidliste#ingen og deaktivering af den smukke udskriftsindstilling for Jsoup, er vi i stand til at bevare linjeskiftene, der er knyttet til den nye linjekarakter. Lad os se, hvad vi ellers kan gøre! Mens du rengør HTML-teksten ved hjælp af Jsoup#ren metode fjerner det linjeskift oprettet af HTML-tags som f.eks og For at bevare de linjeskift, der er knyttet til disse tags, skal vi først oprette en Jsoup Dokument fra vores HTML-streng: Verden Afsnit Dernæst lægger vi en ny linjekarakter forud for og Her brugte vi Vælg metode til Jsoup Dokument sammen med Før metode til at forhindre den nye linjekarakter. Derefter får vi HTML-strengen fra jsoupDoc opretholdelse af de oprindelige nye linjer: Endelig ringer vi Jsoup#ren med Hvidliste#ingen og outputindstillingen for smuk udskrivning er deaktiveret: Og vores outputstreng strWithNewLines ligner: Således ved forudgående og I denne korte artikel lærte vi, hvordan man kan bevare linjeskift forbundet med newline (\ n) tegn og og Som altid er alle disse kodeeksempler tilgængelige på GitHub.2. Bevarelse \ n Mens du analyserer HTML-tekst
Document.OutputSettings outputSettings = nyt Document.OutputSettings (); outputSettings.prettyPrint (false);
String strHTML = "Hej \ nverden"; String strWithNewLines = Jsoup.clean (strHTML, "", Whitelist.none (), outputSettings);
assertEquals ("Hej \ nworld", strWithNewLines);
3. Bevarelse af liniebrud forbundet med og Mærker
String strHTML = "Hej
Document.OutputSettings outputSettings = nyt Document.OutputSettings (); outputSettings.prettyPrint (false); jsoupDoc.outputSettings (outputSettings); jsoupDoc.select ("br"). før ("\ n"); jsoupDoc.select ("p"). før ("\ n");
Streng str = jsoupDoc.html (). ErstatteAll ("\ n", "\ n");
String strWithNewLines = Jsoup.clean (str, "", Whitelist.none (), outputSettings);
assertEquals ("Hello \ nWorld \ nParagraph", strWithNewLines);
4. Konklusion