Category Archives: Pemrograman Java

Ekstraksi text dari HTML Menggunakan HTMLEditorKit dan JEditorPane

Using javax.swing.text.html.HTMLEditorKit

Kalau sebelumnya adalah menggunakan regexp, maka sekarang menggunakan HTMLEditorKit, sebuah library dari java.
Pada banyak kasus, HTMLEditorKit digunakan dengan JEditorPane, sebuah text component, tapi bisa juga digunakan langsung untuk ekstraksi text dari HTML page. Ini source code yang saya daptkan dari sebuah link..

import java.io.IOException;
import java.io.FileReader;
import java.io.Reader;
import java.util.List;
import java.util.ArrayList;

import javax.swing.text.html.parser.ParserDelegator;
import javax.swing.text.html.HTMLEditorKit.ParserCallback;
import javax.swing.text.html.HTML.Tag;
import javax.swing.text.MutableAttributeSet;

public class HTMLUtils {
  private HTMLUtils() {}
  
  public static List<String> extractText(Reader reader) throws IOException {
    final ArrayList<String> list = new ArrayList<String>();
    
    ParserDelegator parserDelegator = new ParserDelegator();
    ParserCallback parserCallback = new ParserCallback() {
      public void handleText(final char[] data, final int pos) { 
        list.add(new String(data));
      }
      public void handleStartTag(Tag tag, MutableAttributeSet attribute, int pos) { }
      public void handleEndTag(Tag t, final int pos) {  }
      public void handleSimpleTag(Tag t, MutableAttributeSet a, final int pos) { }
      public void handleComment(final char[] data, final int pos) { }
      public void handleError(final java.lang.String errMsg, final int pos) { }
    };
    parserDelegator.parse(reader, parserCallback, true);
    return list;
  }
  
  public final static void main(String[] args) throws Exception{
    FileReader reader = new FileReader("java-new.html");
    List<String> lines = HTMLUtils.extractText(reader);
    for (String line : lines) {
      System.out.println(line);
    }
  }
}

Lalu, saya mengimplementasikan ke dalam program saya.. inih dia.. Continue reading Ekstraksi text dari HTML Menggunakan HTMLEditorKit dan JEditorPane

Using Split Java Based on Regexp

jadi, dalam sebuah kasus sering kali kita menemukan keinginan untuk memisahkan string tertentu berdasarkan pola terntentu. Nah, kali ini mungkin saya akan memberikan contoh program memisahkan String berdasarkan pemisah “-” (baca : desh).

public class StringSplit {
  public static void main(String args[]) throws Exception{
      new StringSplit().doit();
  }

  public void doit() {
      String s3 = "Real-How-To";
      String [] temp = null;
      temp = s3.split("-");
      dump(temp);
  }

  public void dump(String []s) {
    System.out.println("------------");
    for (int i = 0 ; i < s.length ; i++) {
        System.out.println(s[i]);
    }
    System.out.println("------------");
  }
}

/*
output :
------------
Real
How
To
------------
*/

nah, gitu deh.. dicobain aja, dengan menggunakan parameter atau pola yang lain misal di”split” berdasarkan “_” (baca: underscored), “?”, dll…
selamat mencoba

HTML2Text Menggunakan Regular Expression

lagi nyoba2 iseng pake java, kali aja bermanfaat.. ๐Ÿ™‚

import java.io.*;

public class Html2TextWithRegExp {
   private Html2TextWithRegExp() {}
   
   public static void main (String[] args) throws Exception{
     StringBuilder sb = new StringBuilder();
     BufferedReader br = new BufferedReader(new FileReader("java-new.html"));
     String line;
     while ( (line=br.readLine()) != null) {
       sb.append(line);
       // or
       //  sb.append(line).append(System.getProperty("line.separator"));
     }
     String nohtml = sb.toString().replaceAll("\\<.*?>","");
     System.out.println(nohtml);  
   }
}