如何强制Console.WriteLine()打印逐字逐句的字符串



可能重复:
我可以将C#字符串值转换为转义字符串文字吗

如何打印字符串(通过Console.WriteLine()),以便逐字打印字符串中可能存在的任何/所有转义序列?

示例:

string s = "This rn has t special \ characters.";
Console.WriteLine(s);
/* Output (I don't want this)
This 
 has    special  characters.
*/

我希望输出为:

This rn has t special \ characters.

请注意,在我的应用程序中,我从第三方接收字符串(其中包含转义序列),也就是说,如果我自己创建字符串,我知道我可以只执行

string s = @"This rn has t special \ characters.";

唯一的方法是自己解码转义序列,并将它们作为文本条目放回字符串中。这需要某种转换函数。例如

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();
}

相关内容

  • 没有找到相关文章

最新更新