2010-10-11 94 views
108

我有可變這樣的:如何將雙引號添加到變量內部的字符串?

string title = string.empty; 

我需要的是傳遞給它的任何字符串我有一個雙引號來顯示一個div裏面的內容。所以我寫了類似於:

... 
... 
<div>"+ title [email protected]"</div> 
... 
... 

但是如何在這裏添加雙引號?因此,它會顯示如下:

"How to add double quotes" 
+0

都能跟得上不起作用asp.net,C#vs2013不管你的外觀和頁面的源代碼"和'一直顯示我是如何編碼。我使用'Attributes.Add(...' – djack109 2016-05-18 17:50:06

回答

218

你需要他們加倍(逐字字符串),以逃避他們:

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

或用正常的字符串字面你有\逃脫他們:

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

以及如何刪除它,同時保存在數據庫中?我只是想刪除額外的雙引號用於轉義,而不是兩個 – 2014-09-30 10:35:50

+0

@AnilPurswani - 你需要閱讀什麼是轉義手段。 – Oded 2014-09-30 10:38:18

+0

什麼時候使用string str = @「」「如何添加doublequotes」「」;它存儲「」如何在數據庫中添加doublequotes「......並在獲取它時獲取相同的....」現在試圖將其轉換....好吧,我得到了答案 - str.Replace(「\\\」「」,「\」「); ......無論如何感謝您的回覆.... – 2014-09-30 10:42:42

32

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

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

爲了或許會讓多一點清楚會發生什麼:

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

雙引號前放置一個反斜槓(\)。這應該工作。

2

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

+0

不管你是如何編碼的,不用asp.net,c#vs2013外觀和頁面源"和'總是顯示。我正在使用'Attributes.Add(...' – djack109 2016-05-18 17:49:43

10

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

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

如果你有經常這樣做,你會希望這個代碼更乾淨,你可能想爲此有一個擴展方法。

這是非常明顯的代碼,但我認爲它可以幫助您節省時間。

/// <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()。

希望得到這個幫助。

5

另注:

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:\電影\硝煙SHIP \做戰艦-cd1.avi」。

當需要雙倍文字使用時:@「H:\ MOVIES \ Battel SHIP \ done-battleship-cd1.avi」; 而不是:@「H:\ MOVIESBattel SHIP \ done-battleship-cd1。AVI「; 因爲第一個文字是路徑名,然後第二個文字是雙引號

0

在C#中,你可以使用:

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

在C#中,如果我們使用「\」,則表示以下符號不是將由開發人員使用的c#inbuild符號。所以在字符串中我們需要雙引號意味着我們可以在雙引號前面加上「\」符號。 string s = "\"Hi\""

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

您還可以在雙引號中加入雙引號。

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

"<i class=\"fa fa-check-circle\"></i>"使用與三元運營商,​​數據綁定:

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

您可以使用$

Interpolated Strings: 用於構造字符串。插入的字符串看起來像包含插值表達式的模板字符串。插入的字符串返回一個字符串,用它們的字符串表示法替換它所包含的插入表達式。此功能在C#6及更高版本中可用。

​​