Удаление доллара и запятой из строки

Как мы можем удалить знак доллара ($) и все запятые (,) из той же строки? Было бы лучше избежать регулярного выражения?

String liveprice = "$123,456.78";

Ответ 1

делай так

NumberFormat format = NumberFormat.getCurrencyInstance();
Number number = format.parse("\$123,456.78");
System.out.println(number.toString());

выход

123456.78

Ответ 2

Попробуйте,

String liveprice = "$123,456.78";
String newStr = liveprice.replaceAll("[$,]", "");

replaceAll использует регулярное выражение, чтобы избежать регулярного выражения, чем попробовать с последовательным replace методом.

 String liveprice = "$1,23,456.78";
 String newStr = liveprice.replace("$", "").replace(",", "");

Ответ 3

Без регулярного выражения вы можете попробовать следующее:

String output = "$123,456.78".replace("$", "").replace(",", "");

Ответ 4

Просто используйте Replace вместо

String liveprice = "$123,456.78";
String output = liveprice.replace("$", "");
output = output .replace(",", "");

Ответ 5

В моем случае ответ @Prabhakaran не сработал, кто-то может попробовать это.

String salary = employee.getEmpSalary().replaceAll("[^\\d.]", "");
Float empSalary = Float.parseFloat(salary);

Ответ 6

Подробнее Oracle JavaDocs:

liveprice = liveprice.replace("X", "");

Ответ 7

Будет ли это работать?

String liveprice = "$123,456.78";
String newStr = liveprice.replace("$", "").replace(",","");

Выход: 123456.78

Live Demo

Лучше один:

String liveprice = "$123,456.78";
String newStr = liveprice.replaceAll("[$,]", "")

Live Demo

Ответ 8

Является ли замена действительно тем, что вам нужно?

public void test() {
  String s = "$123,456.78";
  StringBuilder t = new StringBuilder();
  for ( int i = 0; i < s.length(); i++ ) {
    char ch = s.charAt(i);
    if ( Character.isDigit(ch)) {
      t.append(ch);
    }
  }
}

Это будет работать для любого украшенного номера.

Ответ 9

Пример использования шведской валюты Krona

Строка x = "19.823.567,10 kr";

        x=x.replace(".","");
        x=x.replaceAll("\\s+","");
        x=x.replace(",", ".");
        x=x.replaceAll("[^0-9 , .]", "");

System.out.println(х);

Выдает вывод → 19823567.10 (который теперь можно использовать для любого вычисления)

Ответ 10

Я думаю, что вы могли бы использовать регулярные выражения. Например:

"19.823.567,10 kr".replace(/\D/g, '')