Comment remplacer les guillemets doubles par un espace vide en Java?
Par exemple:
"I don't like these "double" quotes"
Et je veux que la sortie soit
I don't like these double quotes
4 answers
Utiliser String#replace()
.
Pour les remplacer par des espaces (selon le titre de votre question):
System.out.println("I don't like these \"double\" quotes".replace("\"", " "));
Ce qui précède peut également être fait avec des caractères:
System.out.println("I don't like these \"double\" quotes".replace('"', ' '));
Pour les supprimer (selon votre exemple):
System.out.println("I don't like these \"double\" quotes".replace("\"", ""));
Vous n'avez pas besoin de regex pour cela. Un simple remplacement caractère par caractère suffit. Vous pouvez utiliser String#replace()
pour cela.
String replaced = original.replace("\"", " ");
Notez que vous pouvez également utiliser une chaîne vide ""
à la place pour remplacer par. Sinon, les espaces doubleraient.
String replaced = original.replace("\"", "");
Vous pouvez le faire comme ceci:
string tmp = "Hello 'World'";
tmp.replace("'", "");
Mais cela remplacera simplement les guillemets simples. Pour remplacer les guillemets doubles, vous devez d'abord les échapper, comme ceci:
string tmp = "Hello, \"World\"";
tmp.replace("\"", "");
Vous pouvez le remplacer par un espace, ou simplement le laisser vide (je crois que vous vouliez qu'il soit laissé vide, mais le titre de votre question implique le contraire.
Les chaînes sont immuables, vous devez donc dire
sInputString = sInputString("\"","");
Pas seulement le côté droit du =