web-dev-qa-db-fra.com

Comment remplacez-vous 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
22
angad Soni

Utilisez 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 personnages:

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("\"", ""));
32
cletus

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
BalusC

Les chaînes sont immuables, vous devez donc dire

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

pas seulement le côté droit du =

2
IanW

Vous pouvez le faire comme ceci:

string tmp = "Hello 'World'";
tmp.replace("'", "");

Mais cela ne fera que remplacer 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 pense que vous vouliez qu'il soit laissé vide, mais le titre de votre question implique le contraire.

2
Mike Trpcic