2014年2月13日木曜日

Java の置換(replace系)メソッドについて

Java の置換メソッド(replace)について

replaceは正規表現が使えない

いつもどうだったっけ?となるのでメモ。

要点
いつも疑問に思うのは、replaceは正規表現使えるのか??です。
結論から言うと

  • replaceは正規表現が使えない
  • replaceAllとreplaceFirstは使える

以下に例を載せておきます。

replace, replaceAll, replaceFirst の各例

// replace
// -----
System.out.println("zzzz".replace('z', 'x'));
// => xxxx

System.out.println("zzzz".replace("zz", "x"));
// => xx

System.out.println("zzzz".replace("zz.*", "x"));
// => zzzz (正規表現が使えないので置換されない)

// replaceAll
// -----
System.out.println("zzzz".replaceAll("zz", "x"));
// => xx

System.out.println("zzzz".replaceAll("zz.*", "x"));
// => x (正規表現が使えるので置換される)

// replaceFirst
// -----
System.out.println("zzzz".replaceFirst("zz", "x"));
// => xzz

System.out.println("zzzz".replaceFirst("zz.*", "x"));
// => x (正規表現が使えるので置換される)

Written with StackEdit.

  • この記事をシェアする

  • このエントリーをはてなブックマークに追加
  • このブログの更新をチェックする

  • follow us in feedly