126 votes

Supprimer les guillemets d'une chaîne dans .NET

Je suis en train de match sur certains de façon incohérente formaté en HTML et besoin de supprimer certains des guillemets doubles.

Courant:

<input type="hidden">

L'Objectif:

<input type=hidden>

C'est faux, parce que je ne suis pas échapper correctement:

s = s.Replace(""","");

Ce qui est faux, car il n'est pas vide de caractère de caractère (à ma connaissance):

s = s.Replace('"', '');

Qu'est-ce que la syntaxe / escape combinaison de caractères pour le remplacement des guillemets avec une chaîne vide?

262voto

Joey Points 148544

Je pense que votre première ligne fonctionnerait réellement mais je pense que vous avez besoin de quatre guillemets pour une chaîne contenant un seul (en VB au moins):

 s = s.Replace("""", "")
 

pour C #, vous devez échapper le guillemet à l'aide d'une barre oblique inverse:

 s = s.Replace("\"", "");
 

30voto

David Points 12145
 s = s.Replace("\"", "");
 

Vous devez utiliser le \ pour échapper au caractère de citation double dans une chaîne.

18voto

Fredrik Mörk Points 85694

Vous pouvez utiliser l'un de ces éléments:

 s = s.Replace(@"""","");
s = s.Replace("\"","");
 

... mais je suis curieux de savoir pourquoi vous voudriez faire cela? Je pensais que c'était une bonne pratique de garder les valeurs d'attribut citées?

9voto

Steve Gilham Points 7829
s = s.Replace("\"",string.Empty);

4voto

Jake Pearson Points 9657

Vous devez échapper à la double citation avec une barre oblique inverse.

 s = s.Replace("\"","");
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X