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.
0 件のコメント:
コメントを投稿