C# 字符串 - 创建未转义的反斜杠

发布于 2024-12-27 20:12:58 字数 305 浏览 0 评论 0原文

我正在使用 .NET (C#) 代码写入与 Perl 应用程序交互的数据库。当字符串中出现单引号时,我需要“转义”它。 IOW,名称 O'Bannon 应转换为 O\'Bannon 以进行数据库 UPDATE。然而,字符串操作(例如.Replace)的所有努力都会为反斜杠生成转义字符,最终得到O\\'Bannon

我知道它实际上生成了第二个反斜杠,因为我可以读取生成的数据库字段的值(即它不仅仅是字符串的 IDE 调试值)。

如何在输出字符串中只获取单个反斜杠?

I am using .NET (C#) code to write to a database that interfaces with a Perl application. When a single quote appears in a string, I need to "escape" it. IOW, the name O'Bannon should convert to O\'Bannon for the database UPDATE. However, all efforts at string manipulation (e.g. .Replace) generate an escape character for the backslash and I end up with O\\'Bannon.

I know it is actually generating the second backslash, because I can read the resulting database field's value (i.e. it is not just the IDE debug value for the string).

How can I get just the single backslash in the output string?

R

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

云淡风轻 2025-01-03 20:12:58

好吧,我做到了

"O'Bannon".Replace("'","\\'")

,结果是

"O\'Bannon"

这是你想要的吗?

Well I did

"O'Bannon".Replace("'","\\'")

and result is

"O\'Bannon"

Is this what you want?

假情假意假温柔 2025-01-03 20:12:58

您可以使用 "\\",它是转义字符,后跟反斜杠。

请参阅此处的转义序列列表:http://msdn.microsoft.com/en -us/library/h21280bw.aspx

You can use "\\", which is the escape char followed by a backslash.

See the list of Escape Sequences here: http://msdn.microsoft.com/en-us/library/h21280bw.aspx

哆兒滾 2025-01-03 20:12:58

更好的是为替换分配一个 var ,以便您可以在需要时检查它

var RepName = "O'Bannon";
var Repstr = RepName.Replace("'","\\'");

even better assign a var to the replace so that you can check it as well if needed

var RepName = "O'Bannon";
var Repstr = RepName.Replace("'","\\'");
北恋 2025-01-03 20:12:58

您还可以使用逐字字符串

s = s.Replace("'", @"\'");

You can also use a verbatim string

s = s.Replace("'", @"\'");
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文