我有一个Windows.Forms.TextBox,我想让用户输入转义序列,然后将其解释为它们所代表的字符。
例如,如果输入以下内容:
Hello\r\nWorld
我希望它存储为字符数组:
H e l l o \r \n W o r l d
0x48, 0x65, 0x6C, 0x6C, 0x6F, 0x0D, 0x0A, 0x57, 0x6F, 0x72, 0x6C, 0x64
到目前为止,我使用以下方法来处理'\ r'和'\ n',但我也希望能够处理任何其他转义序列,例如\u001A
(ctrl + z ),或\u001B
(esc)
string str = txtBox.Text.Replace("\\r","\r").Replace("\\n","\n");
......必须有一种更通用的方法来处理这个......
答案 0 :(得分:4)
您可以尝试使用System.Text.RegularExpressions.Regex.Unescape
静态方法:
string str = Regex.Unescape(txtBox.Text);
但遗憾的是,它主要适用于正则表达式控制字符。