将字符串转换为char

时间:2010-03-18 10:36:29

标签: c#

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

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

4 个答案:

答案 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中的选项卡:

&#x9; see this article

This article适用于SQL Server,但也可能与C#相关吗?

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

答案 3 :(得分:2)

char.parse(字符串);用于将字符串转换为char,反之亦然 char.tostring(); 100%解决了