【发布时间】:2014-09-25 16:25:27
【问题描述】:
我正在从数据库中获取 iFrame 代码并将其分配给一个字符串
var videoCode = details.Tables["MarketingDetails"].Rows[0]["MarketingVideo"].ToString();
videoCode=videoCode.Replace("\"","'");
调试时videocode的值为:
<iframe width="420" height="315" src="//www.youtube.com/embed/8GRDA1gG8R8" frameborder="0" allowfullscreen></iframe>
当我尝试执行替换时," 的值保持不变。如何正确地将双引号替换为单引号?
【问题讨论】:
-
你在字符串的哪里看到
"\"反斜杠videoCode=videoCode.Replace("\"","'");使用调试器检查这个值并准确粘贴它在这行var videoCode = details.Tables["MarketingDetails"].Rows[0]["MarketingVideo"].ToString();之后的内容 -
如何在替换中使用双引号? @DJKRAZE
-
@CoreyToolis 抱歉,您还需要转义单个刻度。已更正。如果未分配,也将字符串分配为替换将不会替换字符串的值。
string x = string.Format("{0} {1}", '\"', '\''); Console.WriteLine(x); x = x.Replace('\"', '\''); Console.WriteLine(x);输出为" '' ' -
@CoreyToolis 要解析您的 html,您可以使用真正的 Html 解析器,例如 HtmlAgilityPack。无需字符串技巧即可获得
srcBTW:对于您的简单情况,Regex 也足够了.. -
I am thinking if they are single quotes it may work correctly典型XY-Problem