J'essaie de faire correspondre certains codes HTML au format incohérent et je dois supprimer des guillemets.
Courant:
<input type="hidden">
Le but:
<input type=hidden>
C'est faux parce que je n'y échappe pas correctement:
s = s.Replace ("" "," ");
C'est faux car il n'y a pas de caractère vide (à ma connaissance):
s = s.Replace('"', '');
Quelle est la combinaison syntaxe/caractère d'échappement pour remplacer les guillemets doubles par une chaîne vide?
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 (au moins dans VB):
s = s.Replace("""", "")
pour C #, vous devez échapper le guillemet à l'aide d'une barre oblique inverse:
s = s.Replace("\"", "");
s = s.Replace("\"", "");
Vous devez utiliser le\pour échapper au caractère de citation double dans une chaîne.
Je n'ai pas déjà vu mes pensées se répéter, alors je vais vous suggérer de regarder string.Trim
dans la documentation Microsoft pour C #, vous pouvez ajouter un caractère à couper au lieu de simplement couper les espaces vides:
string withQuotes = "\"hellow\"";
string withOutQotes = withQuotes.Trim('"');
devrait aboutir à withOutQuotes être "hello"
au lieu de ""hello""
Vous pouvez utiliser l'un de ces types:
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?
s = s.Replace("\"",string.Empty);
c #: "\""
, donc s.Replace("\"", "")
vb/vbs/vb.net: ""
donc s.Replace("""", "")
Vous devez échapper à la double citation avec une barre oblique inverse.
s = s.Replace("\"","");
s = remplacer (@ "" "", "");
Cela a fonctionné pour moi
//Sentence has quotes
string 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 string with its quotes
string name = nameSentence.Substring(begin, end - begin);
//Remove its quotes
string newName = name.Replace("\"", "");
//Replace new name (without quotes) within original sentence
string updatedNameSentence = nameSentence.Replace(name, newName);
//Returns "Take my name Wesley out of quotes"
return updatedNameSentence;
Si vous souhaitez uniquement effacer les guillemets aux extrémités de la chaîne (et non au milieu), il est possible qu'il y ait des espaces à chaque extrémité de la chaîne virgule), vous devez appeler la fonction Trim deux fois ... par exemple:
string 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)
s = s.Replace( """", "" )
Deux guillemets juxtaposés fonctionneront comme le caractère "prévu" dans une chaîne.