2010-10-11 42 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及更高版本中可用。

​​
相关问题