如何从同一个字符串中删除美元符号($)和所有逗号(,)?避免正则表达式会更好吗?
String liveprice = "$123,456.78";
答案 0 :(得分:23)
喜欢这个
NumberFormat format = NumberFormat.getCurrencyInstance();
Number number = format.parse("$123,456.78");
System.out.println(number.toString());
<强>输出强>
123456.78
答案 1 :(得分:15)
尝试,
String liveprice = "$123,456.78";
String newStr = liveprice.replaceAll("[$,]", "");
replaceAll
使用正则表达式来避免使用正则表达式而不是使用连续replace
方法。
String liveprice = "$1,23,456.78";
String newStr = liveprice.replace("$", "").replace(",", "");
答案 2 :(得分:1)
只需使用Replace
代替
String liveprice = "$123,456.78";
String output = liveprice.replace("$", "");
output = output .replace(",", "");
答案 3 :(得分:1)
没有正则表达式,你可以试试这个:
String output = "$123,456.78".replace("$", "").replace(",", "");
答案 4 :(得分:1)
在我的情况下,@ Prabhakaran的答案无效,有人可以尝试。
String salary = employee.getEmpSalary().replaceAll("[^\\d.]", "");
Float empSalary = Float.parseFloat(salary);
答案 5 :(得分:0)
以下是更多信息Oracle JavaDocs:
liveprice = liveprice.replace("X", "");
答案 6 :(得分:0)
这会有效吗?
String liveprice = "$123,456.78";
String newStr = liveprice.replace("$", "").replace(",","");
输出:123456.78
更好的一个:
String liveprice = "$123,456.78";
String newStr = liveprice.replaceAll("[$,]", "")
答案 7 :(得分:0)
真正替换你需要的吗?
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);
}
}
}
这适用于任何装饰数字。
答案 8 :(得分:0)
使用瑞典克朗货币的示例
字符串x =&#34; 19.823.567,10 kr&#34 ;;
x=x.replace(".","");
x=x.replaceAll("\\s+","");
x=x.replace(",", ".");
x=x.replaceAll("[^0-9 , .]", "");
的System.out.println(X);
将给出输出 - &gt; 19823567.10(现在可以用于任何计算)
答案 9 :(得分:0)
import java.text.NumberFormat
def currencyAmount = 9876543.21 //Default is BigDecimal
def currencyFormatter = NumberFormat.getInstance( Locale.US )
assert currencyFormatter.format( currencyAmount ) == "9,876,543.21"
如果不需要货币,则不需要getCurrencyInstance()
。
答案 10 :(得分:-1)
我认为你可以使用正则表达式。例如:
"19.823.567,10 kr".replace(/\D/g, '')