文字列内のすべての「abc」を「xyz」に置き換える正規表現を探しています。ヒントはありますか?または、パターンとマッチャーを使用してJavaでそれを解決する方法は?(正規表現も必要です)
5 に答える
やってみました?
str = str.replaceAll("abc", "xyz");
それが動作します。"abc"
正規表現のように扱われます。
また、機能するのは
str = str.replace("abc", "xyz");
また、のすべての出現箇所をでabc
置き換えますxyz
が、"abc"
ここではリテラルのように扱われます。
メソッドreplaceAll
クラスString
Oracleドキュメント
ここでは正規表現は必要ありません。次のような単純なString#replaceを使用できます。
String replaced = str.replace("abc", "xyz");
String.replaceAll (regex, str) の使用
String s="abcfvabcb";
System.out.println(s.replaceAll("abc", "xyz"));
出力:
xyzfvxyzb
メソッドreplaceAll()
またはを使用するだけreplace()
です。
String s2 = s1.replaceAll("abc", "xyz");
メソッドのJavadocreplaceAll
。
replaceAll()
との違いreplace()
ではjava.lang.String
、replace
メソッドは char のペアまたは のペアのいずれかを取りますCharSequence
(String はそのサブクラスなので、喜んで String のペアを取ります)。このreplace
メソッドは、出現するすべての char または を置き換えますCharSequence
。
一方、 と の両方の引数String
は正規表現 (regex) です。間違った関数を使用すると、微妙なバグが発生する可能性があります。replaceFirst
replaceAll