簡體   English   中英

如何將雙引號添加到變量內的字符串?

[英]How can I add double quotes to a string that is inside a variable?

我有一個像這樣的字符串變量:

string title = string.empty;

我必須在雙引號內的div中顯示傳遞給它的內容。 我寫了這樣的東西:

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

如何在此處添加雙引號? 這樣它就會顯示如下:

"How to add double quotes"

您需要通過將它們加倍(逐字字符串文字)來逃避它們:

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

或者使用普通字符串文字,您可以使用\轉義它們:

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

所以你本質上是在問如何在字符串變量中存儲雙引號? 兩種解決方案:

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

為了更清楚地說明會發生什么:

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

如果您必須經常這樣做,並且希望代碼更簡潔,您可能希望為此提供一個擴展方法。

這是非常明顯的代碼,但我仍然認為抓住它並節省時間會很有用。

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

然后你可以在你喜歡的每個字符串上調用 foo.AddDoubleQuotes() 或 "foo".AddDoubleQuotes()。

如果我正確理解你的問題,也許你可以試試這個:

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

您還可以將雙引號包含在單引號中。

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

另一個注意事項:

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

傳遞的hh的實際值將是“H:\MOVIES\Battel SHIP\done-battleship-cd1.avi”。

當需要雙雙字面量時,使用:@"H:\MOVIES\Battel SHIP\done-battleship-cd1.avi";

而不是:@"H:\MOVIESBattel SHIP\done-battleship-cd1.avi";

因為第一個文字用於路徑名,然后第二個文字用於雙引號。

使用帶有工作示例字符串插值

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

Output

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

您可以使用$

插值字符串:用於構造字符串。 內插字符串看起來像包含內插表達式的模板字符串。 內插字符串返回一個字符串,該字符串將其包含的內插表達式替換為其字符串表示形式。 此功能在 C# 6 及更高版本中可用。

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

如果您想在包含動態值的字符串中添加雙引號。 對於 CodeId[i] 和 CodeName[i] 的相同位置,您可以放置​​您的動態值。

data = "Test ID=" + "\"" + CodeId[i] + "\"" + " Name=" + "\"" + CodeName[i] + "\"" + " Type=\"Test\";

你可以使用&quot; 而不是" 。它將被瀏覽器正確顯示。

在 C# 中,您可以使用:

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

使用任一

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

或轉義雙引號:

\"
<div>\""+ title +@"\"</div>
string doubleQuotedPath = string.Format(@"""{0}""",path);

在字符串的開頭和結尾添加引號的一種間接但易於理解的替代方法 -

char quote = '"';

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

在雙引號之前放置一個反斜杠 (\)。 那應該行得通。

在 C# 中,如果我們使用“”,則表示后面的符號不是開發人員將使用的 C# 內置符號。

所以在字符串中我們需要雙引號,這意味着我們可以在雙引號之前加上“”符號:

string s = "\"Hi\""

"<i class=\"fa fa-check-circle\"></i>"與帶有Eval()數據綁定的三元運算符一起使用:

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

如果要在 HTML 中添加雙引號

echo "<p>Congratulations, &#8220;" . $variable . "&#8221;!</p>";

Output

Congratulations, "Mr John"!

以“-”開始每一行以創建一個項目符號列表。

通過C# 11.0預覽版,您可以使用Raw String Literals 。

原始字符串文字是字符串文字的一種新格式。 原始字符串文字可以包含任意文本,包括空格、換行符、嵌入引號和其他特殊字符,而無需轉義序列。 原始字符串文字至少以三個雙引號 (""") 字符開頭。它以相同數量的雙引號字符結尾。通常,原始字符串文字在一行中使用三個雙引號來開始字符串,和三個雙引號在單獨的行上以結束字符串。

string str = """
    "How to add double quotes"
    """;

現在用C# 11

var string1 = """before "inside" after""";

var string2 = """ "How to add double quotes" """;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM