Как мы можем удалить знак доллара ($) и все запятые (,) из той же строки? Было бы лучше избежать регулярного выражения?
String liveprice = "$123,456.78";
Как мы можем удалить знак доллара ($) и все запятые (,) из той же строки? Было бы лучше избежать регулярного выражения?
String liveprice = "$123,456.78";
делай так
NumberFormat format = NumberFormat.getCurrencyInstance();
Number number = format.parse("\$123,456.78");
System.out.println(number.toString());
выход
123456.78
Попробуйте,
String liveprice = "$123,456.78";
String newStr = liveprice.replaceAll("[$,]", "");
replaceAll
использует регулярное выражение, чтобы избежать регулярного выражения, чем попробовать с последовательным replace
методом.
String liveprice = "$1,23,456.78";
String newStr = liveprice.replace("$", "").replace(",", "");
Без регулярного выражения вы можете попробовать следующее:
String output = "$123,456.78".replace("$", "").replace(",", "");
Просто используйте Replace
вместо
String liveprice = "$123,456.78";
String output = liveprice.replace("$", "");
output = output .replace(",", "");
В моем случае ответ @Prabhakaran не сработал, кто-то может попробовать это.
String salary = employee.getEmpSalary().replaceAll("[^\\d.]", "");
Float empSalary = Float.parseFloat(salary);
Подробнее Oracle JavaDocs:
liveprice = liveprice.replace("X", "");
Будет ли это работать?
String liveprice = "$123,456.78";
String newStr = liveprice.replace("$", "").replace(",","");
Выход: 123456.78
Лучше один:
String liveprice = "$123,456.78";
String newStr = liveprice.replaceAll("[$,]", "")
Является ли замена действительно тем, что вам нужно?
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);
}
}
}
Это будет работать для любого украшенного номера.
Пример использования шведской валюты 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 (который теперь можно использовать для любого вычисления)
Я думаю, что вы могли бы использовать регулярные выражения. Например:
"19.823.567,10 kr".replace(/\D/g, '')