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

J’essaie de faire correspondre certains formats HTML incohérents et de supprimer certains guillemets.

Actuel:

 

Le but:

  

C’est faux parce que je ne l’échappe pas correctement:

s = s.Replace (“” “,” “);

C’est faux car il n’y a pas de caractère vide (à ma connaissance):

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

Qu’est-ce que la combinaison syntaxe / caractère d’échappement pour remplacer les guillemets par une chaîne vide?

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

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

pour C # vous devez échapper le guillemet en utilisant une barre oblique inverse:

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

Vous devez utiliser le \ pour échapper au guillemet dans une chaîne.

Vous pouvez utiliser l’un des deux:

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

… mais je suis curieux de savoir pourquoi vous voulez faire ça? Je pensais que c’était une bonne pratique de garder les valeurs d’atsortingbuts citées?

Je n’ai pas encore vu mes pensées se répéter, alors je vous suggère de regarder ssortingng.Trim dans la documentation de Microsoft pour C #. Vous pouvez append un caractère à découper au lieu de simplement supprimer les espaces vides:

 ssortingng withQuotes = "\"hellow\""; ssortingng withOutQotes = withQuotes.Trim('"'); 

devrait avoir pour résultat queOutQuotes soit "hello" au lieu de ""hello""

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

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

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

c #: "\"" , donc s.Replace("\"", "")

vb / vbs / vb.net: "" donc s.Replace("""", "")

s = s.Replace (@ “” “”, “”);

Cela a fonctionné pour moi

 //Sentence has quotes ssortingng nameSentence = "Take my name \"Wesley\" out of quotes"; //Get the index before the quotes`enter code here` int begin = nameSentence.LastIndexOf("name") + "name".Length; //Get the index after the quotes int end = nameSentence.LastIndexOf("out"); //Get the part of the ssortingng with its quotes ssortingng name = nameSentence.Subssortingng(begin, end - begin); //Remove its quotes ssortingng newName = name.Replace("\"", ""); //Replace new name (without quotes) within original sentence ssortingng updatedNameSentence = nameSentence.Replace(name, newName); //Returns "Take my name Wesley out of quotes" return updatedNameSentence; 
 s = s.Replace( """", "" ) 

Deux guillemets côte à côte fonctionneront comme le caractère “prévu” dans une chaîne.

Si vous voulez seulement supprimer les guillemets des extrémités de la chaîne (et non du milieu), et qu’il y a des chances qu’il y ait des espaces à chaque extrémité de la chaîne (par exemple, parsingr un fichier au format CSV virgule), vous devez alors appeler la fonction Trim deux fois … par exemple:

 ssortingng myStr = " \"sometext\""; //(notice the leading space) myStr = myStr.Trim('"'); //(would leave the first quote: "sometext) myStr = myStr.Trim().Trim('"'); //(would get what you want: sometext)