web-dev-qa-db-ja.com

文字列からドルとカンマを削除する

同じ文字列からドル記号($)とすべてのコンマ(、)を削除するにはどうすればよいですか?正規表現を避ける方が良いでしょうか?

String liveprice = "$123,456.78";
11
Varun Vishnoi

このようにします

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

出力

123456.78
26

試して、

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

replaceAllは、正規表現を使用して、連続するreplaceメソッドで試行するよりも正規表現を回避します。

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

正規表現なしで、これを試すことができます:

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

私の場合、@ Prabhakaranの答えはうまくいきませんでした。誰かがこれを試すことができます。

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

詳細はこちら Oracle JavaDocs

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

代わりにReplaceを使用してください

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

これは機能しますか?

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

出力:123456.78

ライブデモ

より良いもの:

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

ライブデモ

0
Vishal Suthar

スウェーデンクローナ通貨の使用例

String x = "19.823.567,10 kr";

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

System.out.println(x);

出力を提供します-> 19823567.10(これは現在、あらゆる計算に使用できます)

0
Rajat Bhatia

本当に交換が必要ですか?

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);
    }
  }
}

これは、どの装飾番号でも機能します。

0
OldCurmudgeon