How to add double quotes to a string that is insid

2019-01-01 15:03发布

问题:

I have variable like:

string title = string.empty;

My need is that whatever string is passed to it I have to display the content inside a div with in a double quotes. So I have written something like:

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

But how to add the double quotes here? So that it will display like :

\"How to add double quotes\"

回答1:

You need to escape them by doubling them (verbatim string literal):

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

Or with a normal string literal you escape them with a \\:

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


回答2:

So you are essentially asking how to store doublequotes within a string variable? Two solutions for that:

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

In order to perhaps make it a bit more clear what happens:

var string1 = @\"before \"\"inside\"\" after\";
var string2 = \"before \\\"inside\\\" after\";


回答3:

If I understand your question properly, maybe you can try this:

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


回答4:

If you have to do this often and you would like this to be cleaner in code you might like to have an extension method for this.

This is really obvious code, but still I think it can be useful to grab and make you save time.

  /// <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 + \"\\\"\";
    }

Then you may call foo.AddDoubleQuotes() or \"foo\".AddDoubleQuotes(), on every string you like.

Hope this help.



回答5:

Another 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\");

The real value of hh as passed will be \"H:\\MOVIES\\Battel SHIP\\done-battleship-cd1.avi\".

When needing double double literals use: @\"H:\\MOVIES\\Battel SHIP\\done-battleship-cd1.avi\"; Instead of: @\"H:\\MOVIESBattel SHIP\\done-battleship-cd1.avi\"; Because the first literals is for the path name and then the second literals are for the double quotation marks



回答6:

You could use &quot; instead of \". It will be displayed correctly by the browser.



回答7:

Using string interpolation with working example:

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

Output

<div>\"Title between quotes\"</div>


回答8:

You can also include the double quotes into single quotes.

string str = \'\"\' + \"How to add doublequotes\" + \'\"\';


回答9:

You can use $.

Interpolated Strings: Used to construct strings. An interpolated string looks like a template string that contains interpolated expressions. An interpolated string returns a string that replaces the interpolated expressions that it contains with their string representations. This feature is available in C# 6 and later versions.

string commentor = $\"<span class=\\\"fa fa-plus\\\" aria-hidden=\\\"true\\\"> {variable}</span>\";


回答10:

Use either

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

or escape the double quote:

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


回答11:

string doubleQuotedPath = string.Format(@\"\"\"{0}\"\"\",path);


回答12:

Put a backslash (\\) before the double quotes. That should work.



回答13:

In C# you can use:

 string1 = @\"Your \"\"Text\"\" Here\";
 string2 = \"Your \\\"Text\\\" Here\";


回答14:

in C# if we use \"\\\" means that will indicate following symbol is not c# inbuild symbol that will use by developer. so in string we need double quotes means we can put \"\\\" symbol before double quotes. string s = \"\\\"Hi\\\"\"



回答15:

\"<i class=\\\"fa fa-check-circle\\\"></i>\" is used with ternary operator with Eval() data binding:

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


回答16:

An indirect, but simple to understand alternative to add quotes at start and end of string -

char quote = \'\"\';

string modifiedString = quote + \"Original String\" + quote;


回答17:

If you want to add double quotes in HTML

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