String amount = "1.22.33,11";
String result = amount.replace(".", "");
System.out.println(result);
Выход:
12233,11
Нет необходимости использовать регулярное выражение или внешнюю зависимость.
Метод replace(CharSequence target, CharSequence replacement)
класса String
заменяет каждое вхождение буквальной строки назначения строкой замены. Так что просто дайте пустую строку в качестве замены.
Ваша задача может быть описана как удаление вхождений .
. Поэтому замена «пустым» символом, что бы это ни было, не является правильным решением, у вас все равно останется какой-то символ. Вместо этого мы заменяем односимвольную строку другой строкой, в которой нет символов.
Как отметил @Lino в комментариях, версия JDK, по крайней мере, до 8 (я не проверял 9 или 10) компилирует регулярное выражение в Pattern
для каждого вызова метода. В Java 11 была обеспечена эффективная реализация.