web-dev-qa-db-fra.com

Supprimer Dollar et virgule de la chaîne

Comment pouvons-nous supprimer le signe dollar ($) et toutes les virgules (,) de la même chaîne? Serait-il préférable d'éviter les regex?

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

fait comme ça

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

sortie

123456.78
23
Prabhakaran

Essayer,

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

replaceAll utilise regex, pour éviter les regex, essayez avec la méthode replace consécutive.

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

Sans regex, vous pouvez essayer ceci:

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

Il suffit d'utiliser Replace à la place

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

Voici plus d'informations Oracle JavaDocs :

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

Est-ce que ça marche?

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

Sortie: 123456.78

Démo en direct

Le meilleur:

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

Démo en direct

0
Vishal Suthar

Exemple en devise suédoise

Chaîne 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);

Donnera le résultat -> 19823567.10 (qui peut maintenant être utilisé pour tout calcul)

0
Rajat Bhatia

Un remplacement est-il vraiment ce dont vous avez besoin?

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

Cela fonctionnera pour n'importe quel numéro décoré.

0
OldCurmudgeon