gpt4 book ai didi

c# - 如何正确转义这个字符串

转载 作者:太空狗 更新时间:2023-10-29 19:58:33 24 4
gpt4 key购买 nike

我有一个要发送到外部打印函数的字符串。
我需要用反斜杠填充字符串,以便正确打印。

具体来说,我需要一个方法来接受这个示例输入:
这是一个字符串\n带有一个换行符\ta tab\rand 一个回车符。

和输出:
这是一个字符串\\n带有换行符\\tab\\rand 回车符。

我是否需要用反斜杠等价物强制替换每个可能的转义字符?

尝试过:
s.Replace("\\","\\\\")不起作用,因为它正在寻找反斜杠文字。

s.Replace("\n","\\n") 显然有效,但我正在寻找的是通用方法。

编辑:请不要推荐蛮力方法,我知道实现这样的方法没问题。我的问题是是否有更通用的方法。

最佳答案

private static string EscapeLiterals(string input)
{
using (var writer = new StringWriter())
{
using (var provider = CodeDomProvider.CreateProvider("CSharp"))
{
provider.GenerateCodeFromExpression(new CodePrimitiveExpression(input), writer, null);
return writer.ToString();
}
}
}

接受输入 "\tHello\r\n\tLiterals!" 并将其转换为 "\\tHello\\r\\n\\tLiterals!"

适用于任何输入 - 它会为您提供任何内容的转义序列。

关于c# - 如何正确转义这个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13573073/

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