【问题标题】:How to replace straight quotation mark (")如何替换直引号 (")
【发布时间】:2011-10-28 04:29:58
【问题描述】:

我想用 C# 替换直引号 (")。

我可能遗漏了一些小东西,但我无法用普通的string.Replace(); 得到它

someWord.Replace(@""", "&");

我可以使用普通的string.Replace(); 还是需要使用Regex?如果是后者,Regex 的替换会是什么样子?

【问题讨论】:

标签: c# .net regex string replace


【解决方案1】:

我同意Heinzi,你应该使用"而不是&,而&表示“&” 顺便说一句,调用 Replace 方法后,不要忘记再次将值设置为 someWord:

someWord = someWord.Replace("\"", """);

还有另一种方法可以做到这一点。添加引用 System.Web,并使用 System.Web; 那么:

someWord = HttpUtility.HtmlEncode(someWord);

【讨论】:

  • 这会替换所有特殊字符吗? (HttpUtility.HtmlEncode(someWord);)
  • @Willem 是的,它会的。如果只想替换直引号,就不要用了。
  • 太好了。会节省我很多时间。谢谢
【解决方案2】:
someWord.Replace("\"", "&");

someWord.Replace(@"""", "&");

(引号在常规字符串中转义为\",在逐字字符串中转义为""。)

但你可能是说

someWord.Replace("\"", """);

因为直引号的 HTML 实体是 ",而不是 &

【讨论】:

    【解决方案3】:
    someWord.Replace(@"""", "&");
    

    someWord.Replace("\"", "&");
    

    【讨论】:

      猜你喜欢
      • 2021-02-17
      • 1970-01-01
      • 1970-01-01
      • 2010-09-24
      • 2011-02-06
      • 2011-01-26
      • 2023-03-28
      • 2015-07-30
      相关资源
      最近更新 更多