将字符串转换为char

Den*_*sky 11 c#

我从另一个必须转换为char的类字符串中获取.它通常只包含一个char,这不是问题.但我收到的控制字符如'\\n'或'\\ t'.是否有标准方法将其转换为endline或tab char或我需要自己解析它?

编辑:对不起,解析器吃了一个斜线.我收到'\\ t'

Geo*_*off 18

我假设你的意思是发送数据的类正在向你发送一个像"\n"这样的字符串.在这种情况下,您必须使用以下方法自行解析:

Char.Parse(returnedChar)
Run Code Online (Sandbox Code Playgroud)

否则你可以把它转换成这样的字符串

(string)returnedChar
Run Code Online (Sandbox Code Playgroud)


Mor*_*son 5

如何使用 string.ToCharArray()

然后,您可以添加适当的逻辑来处理字符串中的任何内容.


roh*_*agg 5

新队:

string escapedNewline = @"\\n";
string cleanupNewLine = escapedNewline.Replace(@"\\n", Environment.NewLine);
Run Code Online (Sandbox Code Playgroud)

或者

string cleanupNewLine = escapedNewline.Replace(@"\\n", "\n");
Run Code Online (Sandbox Code Playgroud)

标签:

string escapedTab = @"\\t";
string cleanupTab= escapedTab.Replace(@"\\t", "\t");
Run Code Online (Sandbox Code Playgroud)

请注意缺少文字字符串(即我没有使用 @"\t" 因为它不代表制表符)

或者,如果您需要替换一系列不同的字符串模式,您可以考虑使用正则表达式。

您可能应该编写一个实用函数来封装所有可能的转义序列的上述常见行为

然后,您将编写一些单元测试来涵盖您能想到的每种情况。

当您遇到任何错误时,您可以添加更多单元测试来覆盖这些情况。

更新

您可以使用特殊字符序列来表示 XML 中的选项卡:

	 看这篇文章

本文适用于 SQL Server,但也可能与 C# 相关?

为了绝对确定,您可以尝试生成一个带有制表符的字符串并将其放入某些 XML(以编程方式)中,然后使用 XmlSerializer 将其序列化到文件中以查看输出是什么,然后您可以确定这会忠实地“往返”字符串,制表符仍在其中。