紙コップ

ReplaceStringクラス

2009-02-20 14:45:51

正規表現って難しいですね。使いこなせれば便利なのでしょうけど…。PatternとMatcherの使い方が結構独特だったりして、僕はどうも苦手です。そこで自作クラスを作ってみました。この『ReplaceString』クラスはstaticなreplaceメソッドを持ち、引数で与えた文字列の中でパターンに合致した部分を置き換えます。



引数はシンプルで、対象となる文字列、正規表現パターン、置き換え文字列、です。



具体的には、ソースコード内で、



ReplaceString.replace("http://aquasoft.exblog.jp", "aqua", "hoge");



といったように使い、戻り値はString型として、置き換えられた文字列が返ります。この例ですと、「aqua」が「hoge」に置き換えられます。



ディレクトリの階層構造はこのようになっているとします。



/TestOriginalClass

   ├/com

   │ └/aquaplace

   │   ├ ReplaceString.java

   │   └ ReplaceString.class

   │

   ├ TestOriginalClass.java

   └ TestOriginalClass.class





『TestOriginalClass』は『ReplaceString』を使うためのテスト用のクラスです。



では、ソースコードです。



■Javaソースコード(TestOriginalClass.java)

/**

* ReplaceStringのテスト

*/



import com.aquaplace.*;



public class TestOriginalClass {

  public static void main(String[] args) {

    System.out.println("" + ReplaceString.replace(

      "http://aquasoft.exblog.jp", "aqua", "hoge"));

    System.out.println("" + ReplaceString.replace(

      "となりの客はよく柿食う客だ", "客", "aquaさん"));

  }

}





■Javaソースコード(ReplaceString.java)

package com.aquaplace;



import java.io.*;

import java.util.regex.*;



public class ReplaceString {

  public static String replace(

      String string, String regex, String replacement) {

    Pattern pattern = Pattern.compile(regex);

    Matcher matcher = pattern.matcher(string);

    

    return matcher.replaceAll(replacement);

  }

}





実行すると、こうなります。『http://aquasoft.exblog.jp』の文字列は『aqua』が『hoge』に置き換わって出力され、『となりの客はよく柿食う客だ』の『客』は『aquaさん』に置き換わって出力されます。







この記事が、参考になった、面白かったという方はクリックをお願いいたします!





[ブログ内検索用キーワード]

Java 正規表現 regex Pattern Matcher replaceAll() 文字列 置き換え 置換え 置換

※このエントリは ブロガーにより投稿されたものです。朝日インタラクティブ および ZDNet Japan編集部の見解・意向を示すものではありません。
  • 新着記事
  • 特集
  • ブログ