Jed*_*Jed 4 c# escaping string-formatting console.writeline verbatim
可能的重复:
我可以将 C# 字符串值转换为转义的字符串文字吗
如何打印字符串(通过 Console.WriteLine()),以便逐字打印字符串中可能存在的任何/所有转义序列?
例子:
string s = "This \r\n has \t special \\ characters.";
Console.WriteLine(s);
/* Output (I don't want this)
This
has special \ characters.
*/
Run Code Online (Sandbox Code Playgroud)
我希望输出为:
This \r\n has \t special \\ characters.
Run Code Online (Sandbox Code Playgroud)
请注意,在我的应用程序中,我从第三方接收字符串(其中包含转义序列) - 即如果我自己创建字符串,我知道我可以这样做
string s = @"This \r\n has \t special \\ characters.";
Run Code Online (Sandbox Code Playgroud)
唯一的方法是自己解码转义序列并将它们作为文字条目放回字符串中。这将需要某种转换功能。例如
string EscapeIt(string value) {
var builder = new StringBuilder();
foreach (var cur in value) {
switch (cur) {
case '\t':
builder.Append(@"\t");
break;
case '\r':
builder.Append(@"\r");
break;
case '\n':
builder.Append(@"\n");
break;
// etc ...
default:
builder.Append(cur);
break;
}
}
return builder.ToString();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4934 次 |
| 最近记录: |