文字列内のピリオド ( . ) をすべて削除したい。
したがって、私は試しました: inpt = inpt.replaceAll(".", "");
、ただし、ピリオドのみを削除する代わりに、文字列の内容全体を削除します。
ピリオドのみを削除することはできますか? 回答ありがとうございます。
replaceAll
引数として正規表現を取り、正規表現で.
は「任意の文字」を意味します。
代わりに使用できますreplace
:
inpt = inpt.replace(".", "");
のすべての出現を削除します.
。
replaceAll()
を使用しないでくださいreplace()
:
inpt = inpt.replace(".", "");
replace()
メソッドがあるため、すべてのオカレンスを置き換えないというのはよくある誤解ですreplaceAll()
が、実際には両方ともすべてのオカレンスを置き換えます。2つの方法の違いはreplaceAll()
、正規表現で一致することです(正規表現のドットは「任意の文字」を意味し、これはあなたが経験していたことを説明しています)がreplace()
、リテラル文字列で一致します。
String#replaceAll(String, String)
正規表現を取ります。ドットは、何にでも一致する正規表現のメタ文字です。
使用する
inpt = inpt.replace(".", "");
また、 のすべてのドットを置き換えますinpt
が、最初のパラメーターをリテラル シーケンスとして扱います。 JavaDocを参照してください。
正規表現に固執したい場合は、ドットをエスケープする必要があります:
inpt = inpt.replaceAll("\\.", "");
ドットをマスクする必要があると思います
inpt = inpt.replaceAll("\\.", "");
replaceAll
正規表現を使用する場合は、次を使用してください。
inpt = inpt.replaceAll("\\.", "")