我从另一个必须转换为char的类字符串中获取。它通常只包含一个char,这不是问题。但我收到的控制字符如'\\ n'或'\\ t'。 是否有标准方法将其转换为endline或tab char或我需要自己解析它?
编辑: 对不起,解析器吃了一个斜线。我收到了'\\ t'
答案 0 :(得分:18)
我认为你的意思是发送数据的类正在向你发送一个像“\ n”这样的字符串。在这种情况下,您必须使用以下方法自行解析:
Char.Parse(returnedChar)
否则你可以把它转换成像这样的字符串
(string)returnedChar
答案 1 :(得分:5)
如何使用string.ToCharArray()
然后,您可以添加适当的逻辑来处理字符串中的任何内容。
答案 2 :(得分:4)
新行:
string escapedNewline = @"\\n";
string cleanupNewLine = escapedNewline.Replace(@"\\n", Environment.NewLine);
OR
string cleanupNewLine = escapedNewline.Replace(@"\\n", "\n");
选项卡:
string escapedTab = @"\\t";
string cleanupTab= escapedTab.Replace(@"\\t", "\t");
注意缺少文字字符串(即我没有使用@“\ t”,因为它不代表Tab)
或者,如果您需要替换一系列不同的字符串模式,可以考虑Regular Expressions。
您应该编写一个实用程序函数来封装上面针对所有可能的Escape Sequences
的常见行为然后你会写一些Unit Tests来涵盖你能想到的每一个案例。
当您遇到任何错误时,您可以添加更多单元测试以涵盖这些情况。
<强>更新强>
您可以使用特殊字符序列表示XML中的选项卡:
	
see this article
This article适用于SQL Server,但也可能与C#相关吗?
为了绝对确定,您可以尝试生成一个带有选项卡的字符串并将其放入某些XML(以编程方式)并使用XmlSerializer将其序列化为文件以查看输出是什么,然后您可以确定这将忠实地'往返'字符串仍然在其中的标签。
答案 3 :(得分:2)
char.parse(字符串);用于将字符串转换为char,反之亦然 char.tostring(); 100%解决了