2014-10-01 156 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

相關問題