web-dev-qa-db-fra.com

Comment ajouter des guillemets doubles à une chaîne qui se trouve dans une variable?

J'ai variable comme:

string title = string.empty;

Mon besoin est que quelle que soit la chaîne qui lui est transmise, je dois afficher le contenu à l'intérieur d'une div avec des guillemets doubles. J'ai donc écrit quelque chose comme:

...
...
<div>"+ title +@"</div>
...
...

Mais comment ajouter les guillemets ici? Pour qu'il apparaisse comme:

"How to add double quotes"
132
ANP

Vous devez leur échapper en les doublant (chaîne littérale complète):

string str = @"""How to add doublequotes""";

Ou avec un littéral de chaîne normal, vous leur échappez avec un \:

string str = "\"How to add doublequotes\"";
255
Oded

Vous demandez donc essentiellement comment stocker les guillemets doubles dans une variable chaîne? Deux solutions pour cela:

var string1 = @"""inside quotes""";
var string2 = "\"inside quotes\"";

Afin de rendre peut-être un peu plus clair ce qui se passe:

var string1 = @"before ""inside"" after";
var string2 = "before \"inside\" after";
43
Fredrik Mörk

Si je comprends bien votre question, vous pouvez peut-être essayer ceci:

string title = string.Format("<div>\"{0}\"</div>", "some text");
12
schwindelig

Si vous devez le faire souvent et que vous souhaitez que cela soit plus propre, vous voudrez peut-être une méthode d'extension pour cela.

C’est un code vraiment évident, mais je pense qu’il peut toujours être utile de saisir et de vous faire gagner du temps.

  /// <summary>
    /// Put a string between double quotes.
    /// </summary>
    /// <param name="value">Value to be put between double quotes ex: foo</param>
    /// <returns>double quoted string ex: "foo"</returns>
    public static string AddDoubleQuotes(this string value)
    {
        return "\"" + value + "\"";
    }

Ensuite, vous pouvez appeler foo.AddDoubleQuotes () ou "foo" .AddDoubleQuotes (), sur chaque chaîne de votre choix.

J'espère que cette aide.

11
codea

Une autre note: 

    string path = @"H:\\MOVIES\\Battel SHIP\\done-battleship-cd1.avi"; 
    string hh = string.Format("\"{0}\"", path);
    Process.Start(@"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe ", hh + " ,--play");

La valeur réelle de hh telle que transmise sera "H:\MOVIES\Battel SHIP\done-Battleship-cd1.avi".

Si vous avez besoin de doubles littéraux doubles, utilisez: @ "H:\MOVIES\Battel SHIP\done-battleship-cd1.avi"; Au lieu de: @ "H:\MOVIESBattel SHIP\done-battleship-cd1.avi"; Parce que les premiers littéraux sont pour le nom du chemin d'accès et que les seconds sont pour les guillemets doubles

5
DR.

Utilisation de interpolation de chaîne avec exemple de travail :

var title = "Title between quotes";
var string1 = $@"<div>""{title}""</div>";  //Note the order of the $@
Console.WriteLine (string1);

Sortie

<div>"Title between quotes"</div>
2
WorkSmarter

Vous pouvez également inclure les guillemets doubles dans des guillemets simples.

string str = '"' + "How to add doublequotes" + '"';
2
Yannick Turbang

Vous pouvez utiliser &quot; au lieu de ". Il sera affiché correctement par le navigateur.

2
Jens

Vous pouvez utiliser $

Chaînes interpolées : Utilisé pour construire des chaînes. Une chaîne interpolée ressemble à une chaîne de modèle contenant des expressions interpolées. Une chaîne interpolée renvoie une chaîne qui remplace les expressions interpolées qu'elle contient par leurs représentations sous forme de chaîne. Cette fonctionnalité est disponible dans les versions C # 6 et supérieures.

string commentor = $"<span class=\"fa fa-plus\" aria-hidden=\"true\"> {variable}</span>";
2
Jahan
string doubleQuotedPath = string.Format(@"""{0}""",path);
1
Sunil Kumar

Utilisez soit 

& dquo; 
 <div> & dquo; "" title + @ "& dquo; </ div> 

ou échapper à la double citation:

\ "
 <div> \" "+ titre + @"\"</ div> 
1
graham

Si vous souhaitez ajouter des guillemets doubles à une chaîne contenant également des valeurs dynamiques. Pour la même chose à la place de CodeId [i] et CodeName [i], vous pouvez mettre vos valeurs dynamiques. 

data = "Test ID=" + "\"" + CodeId[i] + "\"" + " Name=" + "\"" + CodeName[i] + "\"" + " Type=\"Test\";
0
Ramya Prakash Rout

Si vous voulez ajouter des guillemets doubles en HTML

echo "<p>Congratulations,  &#8220; ". $variable ." &#8221;!</p>";
output -> Congratulations, "Mr Jonh "!
0
Yogesh Sarvaiya

en C #, si nous utilisons "\", cela signifie que le symbole suivant n'est pas un symbole inbuild c # qui sera utilisé par le développeur. ainsi, dans la chaîne, nous avons besoin de guillemets doubles signifie que nous pouvons mettre le symbole "\" avant les guillemets doubles. string s = "\"Hi\"" 

0
Malathi Mals

Placez une barre oblique inverse (\) avant les guillemets. Cela devrait fonctionner.

0
Belinda

Une alternative indirecte, mais simple à comprendre, permettant d’ajouter des guillemets au début et à la fin de la chaîne -

char quote = '"';

string modifiedString = quote + "Original String" + quote;
0
Abhishek Poojary

En C #, vous pouvez utiliser:

 string1 = @"Your ""Text"" Here";
 string2 = "Your \"Text\" Here";
0
Shivam Mishra

"<i class=\"fa fa-check-circle\"></i>" est utilisé avec l'opérateur ternaire avec la liaison de données Eval():

Text = '<%# Eval("bqtStatus").ToString()=="Verified" ? 
       Convert.ToString("<i class=\"fa fa-check-circle\"></i>") : 
       Convert.ToString("<i class=\"fa fa-info-circle\"></i>"
0
user5377037