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
Author: Pang, 2010-03-02

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("\"", ""));
 29
Author: cletus, 2011-10-06 18:14:35

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("\"", "");
 8
Author: BalusC, 2010-03-02 00:59:53

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.

 2
Author: Mike Trpcic, 2010-03-02 01:05:14

Les chaînes sont immuables, vous devez donc dire

sInputString = sInputString("\"","");

Pas seulement le côté droit du =

 2
Author: IanW, 2011-11-21 03:32:23