KazMuzik.net
Music
/
Technology
/
Healthcare
/
Immigration
/
アメリカ
Enter your search terms
Submit search form
Web
kazmuzik.net
<<
π (パイ, Pi, 円周率)の日 - KazMuzik.net Project #10 - Channels
Mail-in Rebate Update
>>
sampo nutch project #3 - TextReplacer and RemoveAllTagsCommand
-
KazMuzik Blog
2008-03-15 13:56
LiveJournal.com から、ブログを移行する際、URL や、Ads を置き換えたり、不要な部分を削除したり、しています。いったん、
Nutch segment にstore された content を変換
していますが、エントリだけで 900近くなり、その他に、Tag のページなどを含めると、1,000近いページになります。このため、手作業では不可
能なため、主に、Java でプログラムを書いて、変換しています。最初は手っ取り早く、ハードコードして、すま
せていたのですが、汎用的なクラスは、整理して、sampo project に入れていくことにしました。
今回は、
TextReplacer
です。これは、指定した文字列で挟まれた部分を、別の文字列で置き換える utility class です。例えば、new TextReplacer("<script", "</script>", "<!-- SCRIPT REMOVED -->").replace(text) とすると、text から script タグが削除されて、コメントが挿入されます。また、コンストラクタの 2番目のパラメータを null, あるいは省力すると、1番目のパラメータで指定された文字列が置き換えられます。標準
では、String クラスの toLowerCase() を使い、大文字、小文字を区別しないで、マッチさせていますが、最後の boolean フラグを false にすることにより、大文字、小文字を区別することができます。
RemoveAllTagsCommand
は、new TextReplacer("<", ">", "", false) を用いて、ファイルから、HTML や XML のタグをすべて取り除く Command クラスです。
Tags:
programming