gpt4 book ai didi

c# - 在 C# 中转义字符串文字中的双引号

转载 作者:太空宇宙 更新时间:2023-11-03 17:21:57 27 4
gpt4 key购买 nike

我需要一个 c# 中的正则表达式,它将转义字符串文字中的双引号。所以如果我有这个字符串:““这个”怎么样,“那个”怎么样”。我将能够在 javascript 中毫无错误地使用它。因为我将此文字作为 js var 写入页面。

编辑:我会尝试解释更多有关该问题的信息。我这样写消息到页面:

string UserMsg = GetMessageText(999);
StringBuilder script = new StringBuilder();
script.AppendFormat("var UserMsg =\"{0}\";{1}", UserMsg, Environment.NewLine);
ScriptManager.RegisterClientScriptBlock(this, GetType(), "scriptparams", script.ToString(),true);

现在假设消息 999 是这样的:“我们在您的详细信息中发现了一个‘问题’”。这会导致 js 错误。

最佳答案

您不应使用正则表达式将 C# 字符串转义为 JavaScript 友好/安全的格式。相反,假设您使用的是 .NET 4,则可以使用 HttpUtility.JavaScriptStringEncode为您处理单引号和双引号是重载的。

例如:

string UserMsg = GetMessageText(999);
StringBuilder script = new StringBuilder();
script.AppendFormat("var UserMsg =\"{0}\";{1}", HttpUtility.JavaScriptStringEncode(UserMsg), Environment.NewLine);
ScriptManager.RegisterClientScriptBlock(this, GetType(), "scriptparams", script.ToString(),true);

如果将 UserMsg 设置为“我们在您的详细信息中发现了一个‘问题’”,则会输出以下内容:

var UserMsg ="we found a \"problem\" in your details";

关于c# - 在 C# 中转义字符串文字中的双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8293707/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com