【发布时间】:2019-06-05 11:41:10
【问题描述】:
我有一个包含 特殊字符 的字符串,例如:12345678912\rJ\u0011,因为我需要访问这些特殊字符来配置我的应用程序。我想在 TextBox 字段中完全像这样显示这个字符串,所以到目前为止我所做的一切都会导致一个字符串,其中字符 \u0011 尝试在末尾呈现一个空字符:"7896104866061\rJ"。
我做了这个,但它不起作用。
string result = Regex.Replace(
ToLiteral(this.Buffer),
"[^\x00-\x7Fd]",
c => string.Format("\\u{0:x4}", (int)c.Value[0]))
.Replace(@"\", @"\\");
public static string ToLiteral(string input)
{
using (var writer = new StringWriter())
{
using (var provider = CodeDomProvider.CreateProvider("CSharp"))
{
provider.GenerateCodeFromExpression(
new CodePrimitiveExpression(input),
writer,
null);
return writer.ToString();
}
}
}
我需要做什么?提前致谢。
【问题讨论】:
-
所以你想将:crtlchar 转换为字面意义上的
\u0011? -
是的@Fabio!这正是我想做的。
标签: c# string winforms string-formatting