Zachovanie zlomov riadkov pri používaní služby Jsoup
1. Prehľad
V tomto výučbe sa v krátkosti pozrieme na rôzne spôsoby zachovanie zlomov riadkov pri použití Jsoup na analýzu HTML na obyčajný text. Rozoberieme, ako zachovať zlomy riadkov spojené s novým riadkom (\ n) znaky, ako aj znaky spojené s a Jsoup odstráni znak nového riadku (\ n) predvolene z textu HTML a každý nový riadok nahradí medzerníkom. Aby sme však zabránili spoločnosti Jsoup v odstraňovaní znakov nového riadku, môžeme zmeniť Nastavenie výstupu služby Jsoup a vypnite peknú tlač. Ak je pekná tlač zakázaná, výstupné metódy HTML výstup nepreformátujú a výstup bude vyzerať ako vstup: Ďalej môžeme použiť Jsoup#čistý ak chcete z reťazca odstrániť všetky značky HTML: Pozrime sa, aký je náš výstupný reťazec strWithNewLines vyzerá ako: Preto to môžeme vidieť tak, že zavoláme Jsoup#čistý s Biela listina#žiadny a deaktiváciou nastavenia pekného tlačového výstupu Jsoup sme schopní zachovať zlomy riadkov spojené so znakom nového riadku. Pozrime sa, čo ešte môžeme urobiť! Pri čistení textu HTML pomocou Jsoup#čistý metóda odstráni zlomy riadkov vytvorené HTML značkami ako a Aby sme zachovali zlomy riadkov spojené s týmito značkami, je potrebné najskôr vytvoriť Jsoup Dokument z nášho reťazca HTML: Svet Odstavec Ďalej pred znak " a Tu sme použili vyberte metóda Jsoup Dokument spolu s predtým metóda na doplnenie znaku nového riadku. Potom dostaneme reťazec HTML z jsoupDoc zachovanie pôvodných nových riadkov: Nakoniec zavoláme Jsoup#čistý s Biela listina#žiadny a nastavenie pekného tlačového výstupu zakázané: A náš výstupný reťazec strWithNewLines vyzerá ako: Teda prípravou a V tomto krátkom článku sme sa naučili, ako zachovať zlomy riadkov spojené s novým riadkom (\ n) znaky a a Všetky tieto ukážky kódu sú ako vždy k dispozícii na GitHub.2. Zachovanie \ n Pri analýze textu HTML
Document.OutputSettings outputSettings = nový Document.OutputSettings (); outputSettings.prettyPrint (false);
Reťazec strHTML = "Ahoj \ nsvet"; Reťazec strWithNewLines = Jsoup.clean (strHTML, "", Whitelist.none (), outputSettings);
assertEquals ("Hello \ nworld", strWithNewLines);
3. Zachovanie zlomov riadkov spojených s a Značky
String strHTML = "Dobrý deň
Document.OutputSettings outputSettings = nový Document.OutputSettings (); outputSettings.prettyPrint (false); jsoupDoc.outputSettings (outputSettings); jsoupDoc.select ("br"). before ("\ n"); jsoupDoc.select ("p"). before ("\ n");
String str = jsoupDoc.html (). ReplaceAll ("\ n", "\ n");
Reťazec strWithNewLines = Jsoup.clean (str, "", Whitelist.none (), outputSettings);
assertEquals ("Hello \ nWorld \ nParagraph", strWithNewLines);
4. Záver