web-dev-qa-db-fra.com

Comment utiliser replace (char, char) pour remplacer toutes les occurrences du caractère b par rien

Comment utiliser replace (char, char) pour remplacer toutes les occurrences du caractère "b" par rien.

Par exemple:

Hambbburger to Hamurger

EDIT: Il existe une contrainte, je ne peux utiliser que la version 1.4.2, ce qui signifie qu'aucune version surchargée de replace!

14
Oh Chin Boon

Il y a aussi une fonction replaceAll qui utilise des chaînes, notez cependant qu'elle les évalue en tant que regex, mais le remplacement d'un seul caractère fera l'affaire.

Voici un exemple:

String meal = "Hambbburger";

String replaced = meal.replaceAll("b","");

Notez que la variable replaced est nécessaire car replaceAll ne modifie pas la chaîne en place mais en crée une nouvelle avec le remplacement (String est immuable en Java).

Si le caractère que vous souhaitez remplacer a une signification différente dans une expression rationnelle (par exemple, le caractère . correspond à n'importe quel caractère, pas à un point), vous devrez donc quote le premier paramètre comme ceci:

String meal = "Ham.bur.ger";

String replaced = meal.replaceAll(Pattern.quote("."),"");
18
Pablo Fernandez

Les chaînes étant immuables, assurez-vous d’affecter le résultat à une chaîne.

String str = "Hambbburger";
str = str.replace("b", "");

Vous n'avez pas besoin de replaceAll si vous utilisez Java 6. Voir ici: replace

5
MByD

Essayez ce code ....

public class main {
public static void main(String args[]){
    String g="Hambbburger.i want to eat Hambbburger. ";
    System.out.print(g);
    g=g.replaceAll("b", "");



      System.out.print("---------After Replacement-----\n");
      System.out.print(g);

}
}

sortie

Hambbburger.Je veux manger Hambbburger. --------- Après le remplacement ----- Hamurger.Je veux manger Hamurger.

3
soumitra chatterjee
String text = "Hambbburger";
text = text.replace('b', '\0');

Le '\0' représente NUL dans le code ASCII.

1
Andrew

replaceAll dans String ne fonctionne pas correctement. Il est toujours recommandé d'utiliser replace()

Ex: -

String s="abcdefabcdef";
s=s.replace("a","");
0
SoumyaRanjan