1. Skenario aplikasi: Ekstrak teks biasa dari file html atau dari string (yang merupakan konten html) dan hapus tag halaman web;
2. Kode 1: Replaceall selesai
// Ekstrak teks polos dari html public static string stripHt (string strhtml) {string txtContent = strhtml.replaceall ("</? [^>]+>", ""); // Ekstrak <html> tag txtcontent = txtcontent.replaceall ("<a> // s*|/t |/r |/n </a>", ""); // hapus spasi di string, carriage return, line break, tab return txtcontent; }3. Kode 2: Ekspresi reguler selesai
// Ekstrak teks biasa dari html public static string html2text (string inputString) {string htmlstr = inputString; // String string dengan tag html string textstr = ""; java.util.regex.pattern p_script; java.util.regex.matcher m_script; java.util.regex.pattern p_style; java.util.regex.matcher m_style; java.util.util.regex.matcher m_style; p_html; java.util.regex.matcher m_style; java.util.regex.pattern p_html; java.util.regex.matcher m_html; coba {string regex_script = "<[// s]*? skrip [^>]*?> [// s // s]*? <[// s]*? // [// s]*? // [// s]*? skrip [// s]*?>"; // Tentukan ekspresi reguler {atau <skrip [^>]*?> [// s // s]*? </// script> string regex_style = "<[// s]*? Style [^>]*?> [// s // s]*? <[// s]*? // [// s]*?>"; // Tentukan ekspresi reguler {atau <style [^>]*?> [// s // s]*? </// style> string regex_html = "<[^>]+>"; // Tentukan ekspresi reguler p_script = pola.compile (regex_script, pola.case_insensitive); m_script = p_script.matcher (htmlstr); htmlstr = m_script.replaceall (""); // Filter skrip tag p_style = pola.compile (regex_style, pola.case_insensitive); m_style = p_style.matcher (htmlstr); htmlstr = m_style.replaceall (""); // Filter skrip tag p_style = pola.compile (regex_style, pola.case_insensitive); m_style = p_style.matcher (htmlstr); htmlstr = m_style.replaceall (""); // tag gaya filter p_html = pola.compile (regex_html, pola.case_insensitive); m_html = p_html.matcher (htmlstr); htmlstr = m_html.replaceall (""); // filter html tag textstr = htmlstr; } catch (Exception e) {System.err.println ("html2Text:" + e.getMessage ()); } // Kecualikan garis ruang ruang textstr = textstr.replaceall ("[]+", ""); textstr = textstr.replaceall ("(? M)^// s*$ (// n | // r // n)", ""); return textstr; // return string teks}4. Kode 3: htmleditorkit.parsercallback selesai, kelas Java sendiri
Paket com.util; import java.io.*; import javax.swing.text.html.*; import javax.swing.text.html.parser.*; kelas publik html2Text memperluas htmleditorkit.parsercallback {stringbuffer s; publik html2Text () {} public void parse (pembaca in) melempar ioException {s = new stringBuffer (); ParserDelegator delegator = Parserdelegator baru (); // Parameter ketiga benar untuk mengabaikan charset delegator.parse (dalam, ini, boolean.true); } public void handleText (char [] text, int pos) {S.Append (teks); } public string getText () {return s.toString (); } public static void main (string [] args) {coba {// html to convert // reader in = new stringReader ("string"); Filereader di = filereader baru ("java-new.html"); Html2text parser = html2text baru (); parser.parse (dalam); melampirkan(); System.out.println (parser.getText ()); } catch (Exception e) {E.PrintStackTrace (); }}}Metode Java di atas untuk mengekstrak teks biasa dari teks HTML adalah semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.