2011年4月13日水曜日

Java で日本語の禁則処理

ってむっちゃ簡単に実現できる。

java.text.BreakIteratorを使用。


ソースコード:
public class BreakIteratorTest { public static void main(String[] args) { try { final String text01 = "こんにちは。" + "僕はラッセル\r\nです。" + "自然探検隊第54団第12班の隊員です。" + "何かお手伝いは要りませんか?" + "例えば道を渡るとか!?" + "いらん" ; doOne(text01); } finally { } } public static void doOne(String source) { System.out.println("source:" + source + "\r\n"); source = StringUtils.deleteWhitespace(source); BreakIterator boundary = BreakIterator.getSentenceInstance(Locale.JAPAN); boundary.setText(source); printEachForward(boundary, source); } public static void printEachForward(BreakIterator boundary, String source) { int start = boundary.first(); for (int end = boundary.next(); end != BreakIterator.DONE; start = end, end = boundary.next()) { System.out.println(" - " + source.substring(start,end)); } } }


実行結果:
source:こんにちは。僕はラッセル です。自然探検隊 第54団 第12班の隊員です。何かお手伝いは要りませんか?例えば道を渡るとか!?いらん - こんにちは。 - 僕はラッセルです。 - 自然探検隊第54団第12班の隊員です。 - 何かお手伝いは要りませんか? - 例えば道を渡るとか!? - いらん

0 件のコメント:

コメントを投稿