2014-10-01 160 views
1

我有一个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"); 

...必须有处理这种更普遍的方式...

回答

3

你可以尝试使用System.Text.RegularExpressions.Regex.Unescape静态方法:

string str = Regex.Unescape(txtBox.Text); 

但不幸的是它适用主要为正则表达式控制字符。

+0

正是我在找的东西!我知道简单的答案只是逃避我...谢谢! – chezy525 2014-10-01 21:45:29

相关问题