Očuvanje prekida crte prilikom upotrebe Jsoupa
1. Pregled
U ovom uputstvu ukratko ćemo pogledati različite načine očuvanje prijeloma linija kada se pomoću Jsoupa raščlanjuje HTML na običan tekst. Objasnit ćemo kako sačuvati prijelome redaka povezane s novim redom (\ n), kao i oni povezani s i Jsoup uklanja znak novog reda (\ n) prema zadanim postavkama iz HTML teksta i svaki novi redak zamjenjuje razmakom. Međutim, kako bismo spriječili Jsoupa da ukloni znakove novog retka, možemo promijeniti OutputSetting Jsoupa i onemogućite prilično ispis. Ako je onemogućen lijepi ispis, HTML metode izlaza neće ponovno formatirati izlaz, a izlaz će izgledati kao ulaz: Nadalje, možemo koristiti Jsoup#čist da biste uklonili sve HTML oznake iz niza: Pogledajmo kakav je naš izlazni niz strWithNewLines izgleda kao: Stoga to možemo vidjeti pozivom Jsoup#čist s Bijela lista#nijedna i onemogućavajući postavku izlaza za lijepi ispis Jsoupa, u mogućnosti smo sačuvati prijelome redaka povezane s znakom nove linije. Da vidimo što još možemo učiniti! Tijekom čišćenja HTML teksta pomoću Jsoup#čist metodom uklanja prijelome redaka stvorene HTML oznakama poput i Da bismo sačuvali prijelome linija povezanih s tim oznakama, prvo moramo stvoriti Jsoup Dokument iz našeg HTML niza: Svijet Stavak Dalje, stavljamo znak novog retka ispred znaka i Ovdje smo koristili Odaberi metoda Jsoupa Dokument zajedno sa prije metoda za dodavanje znaka novog retka. Nakon toga dobivamo HTML niz iz jsoupDoc zadržavajući izvorne nove linije: Napokon, zovemo Jsoup#čist s Bijela lista#nijedna i onemogućena postavka izlaza za prilično ispis I naš izlazni niz strWithNewLines izgleda kao: Dakle, predizborom i U ovom kratkom članku naučili smo kako sačuvati prijelome redaka povezane s novim redom (\ n) znakova i i Kao i uvijek, svi su ovi uzorci koda dostupni na GitHub-u.2. Očuvanje \ n Tijekom raščlanjivanja HTML teksta
Document.OutputSettings outputSettings = novi Document.OutputSettings (); outputSettings.prettyPrint (netačno);
Niz strHTML = "Pozdrav \ nsvijet"; Niz strWithNewLines = Jsoup.clean (strHTML, "", Whitelist.none (), outputSettings);
assertEquals ("Zdravo \ nsvijet", strWithNewLines);
3. Očuvanje prekida linija povezanih s i Oznake
String strHTML = "Pozdrav
Document.OutputSettings outputSettings = novi Document.OutputSettings (); outputSettings.prettyPrint (netačno); jsoupDoc.outputSettings (outputSettings); jsoupDoc.select ("br"). before ("\ n"); jsoupDoc.select ("p"). before ("\ n");
Niz str = jsoupDoc.html (). ReplaceAll ("\ n", "\ n");
Niz strWithNewLines = Jsoup.clean (str, "", Whitelist.none (), outputSettings);
assertEquals ("Pozdrav \ nSvijet \ nParagraf", strWithNewLines);
4. Zaključak