文字「|」を削除したい String#replaceAll()
メソッドを使用して。ただし、最初のパラメーターは正規表現のメタ文字として認識されます。
エスケープ文字で試しreplaceAll("\|", "");
ましたが、コンパイルできません。
「|」を削除または置換する方法はありますか Javaによる文字?
文字「|」を削除したい String#replaceAll()
メソッドを使用して。ただし、最初のパラメーターは正規表現のメタ文字として認識されます。
エスケープ文字で試しreplaceAll("\|", "");
ましたが、コンパイルできません。
「|」を削除または置換する方法はありますか Javaによる文字?
|
を使用するときはreplaceAll()
、次のようにダブルエスケープする必要があります。
myString.replaceAll("\\|", "");
これは、文字列が実際には2 回解析されるためです。最初はリテラル文字列として、次に正規表現として解析されます。したがって"\\|"
、最初の解析を開始すると、 のリテラル文字列が得\|
られ、正規表現パーサーはそれを として認識し|
ます。これは、慣れるまで少し戸惑うかもしれません。
正解は、replaceAll()
(正規表現を置き換える)使用せず、replace()
単に文字を置き換える使用です。
replace("|", "");
fyiは、メソッド名に「all」が含まれていないにもかかわらず、実際には、指定された文字のすべてのインスタンスを置き換えます。
また、これも仕事をします:
String test = "Hello | Hi | Test";
System.out.println(test.replace("|", ""));
ここでは、文字列置換メソッドが便利なツールです。正規表現を使用する必要はありません。