Convert Html String to Text String using regex - Android android.text

Android examples for android.text:Html

Description

Convert Html String to Text String using regex

Demo Code

import java.util.regex.Pattern;

public class Main {

  public static String Html2Text(String inputString) {
    String htmlStr = inputString;
    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.regex.Pattern p_html;
    java.util.regex.Matcher m_html;
    java.util.regex.Pattern p_space;
    java.util.regex.Matcher m_space;
    try {/*from   w  ww.  j a v a2  s .c  o  m*/
      String regEx_script = "<[\\s]*?script[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?script[\\s]*?>";
      String regEx_style = "<[\\s]*?style[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?style[\\s]*?>";
      String regEx_html = "<[^>]+>";
      String regEx_space = "[ \\t\\n\\x0B\\f\\r&nbsp;]";
      p_script = Pattern.compile(regEx_script, Pattern.CASE_INSENSITIVE);
      m_script = p_script.matcher(htmlStr);
      htmlStr = m_script.replaceAll("");
      p_style = Pattern.compile(regEx_style, Pattern.CASE_INSENSITIVE);
      m_style = p_style.matcher(htmlStr);
      htmlStr = m_style.replaceAll("");
      p_html = Pattern.compile(regEx_html, Pattern.CASE_INSENSITIVE);
      m_html = p_html.matcher(htmlStr);
      htmlStr = m_html.replaceAll("");
      p_space = Pattern.compile(regEx_space, Pattern.CASE_INSENSITIVE);
      m_space = p_space.matcher(htmlStr);
      htmlStr = m_space.replaceAll("");
      textStr = htmlStr;
    } catch (Exception e) {
      System.err.println("Html2Text: " + e.getMessage());
    }
    return textStr;
  }

}

Related Tutorials