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

2. Bevarelse \ n Mens du analyserer HTML-tekst

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:

Document.OutputSettings outputSettings = nyt Document.OutputSettings (); outputSettings.prettyPrint (false);

Desuden kan vi bruge Jsoup#ren for at fjerne alle HTML-tags fra strengen:

String strHTML = "Hej \ nverden"; String strWithNewLines = Jsoup.clean (strHTML, "", Whitelist.none (), outputSettings);

Lad os se, hvad vores outputstreng strWithNewLines ligner:

assertEquals ("Hej \ nworld", strWithNewLines);

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!

3. Bevarelse af liniebrud forbundet med

og

Mærker

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:

String strHTML = "Hej

Verden

Afsnit

"; Dokument jsoupDoc = Jsoup.parse (strHTML);

Dernæst lægger vi en ny linjekarakter forud for

og

Document.OutputSettings outputSettings = nyt Document.OutputSettings (); outputSettings.prettyPrint (false); jsoupDoc.outputSettings (outputSettings); jsoupDoc.select ("br"). før ("\ n"); jsoupDoc.select ("p"). før ("\ n");

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:

Streng str = jsoupDoc.html (). ErstatteAll ("\ n", "\ n");

Endelig ringer vi Jsoup#ren med Hvidliste#ingen og outputindstillingen for smuk udskrivning er deaktiveret:

String strWithNewLines = Jsoup.clean (str, "", Whitelist.none (), outputSettings);

Og vores outputstreng strWithNewLines ligner:

assertEquals ("Hello \ nWorld \ nParagraph", strWithNewLines);

Således ved forudgående

og

4. Konklusion

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.


$config[zx-auto] not found$config[zx-overlay] not found