This question already has answers here:
How to escape braces (curly brackets) in a format string in .NET
(10个答案)
6年前关闭。
f()由g调用:
json中的花括号被f()中的
有没有办法使花括号逃脱?
或者,如果需要,请在JSON中替换它们:
您还可以将此工作委托给扩展方法:
或者,如Ergwun所说,您可以随后简单地将这些值连接起来。不过,我的假设是,在您的实际代码中,这比这个简单的示例要简单。
(10个答案)
6年前关闭。
void f(string message)
{
string.Format(message,"x",y");
}
f()由g调用:
g()
{
f(SomeJson+"{0}");
}
json中的花括号被f()中的
string.format()
解释为值的占位符。有没有办法使花括号逃脱?
最佳答案
将它们加倍:
f(SomeJson+"{{0}}");
或者,如果需要,请在JSON中替换它们:
f(SomeJson.Replace("{", "{{")
.Replace("}", "}}") + "{0}");
您还可以将此工作委托给扩展方法:
public static class StringExtensions
{
public static string EscapeBraces(this string s)
{
return s.Replace("{", "{{")
.Replace("}", "}}");
}
}
f(SomeJson.EscapeBraces() + "{0}");
或者,如Ergwun所说,您可以随后简单地将这些值连接起来。不过,我的假设是,在您的实际代码中,这比这个简单的示例要简单。
关于c# - 转义为string.format的花括号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18866637/
10-09 03:43