2014-10-01 2 views
1

У меня есть Windows.Forms.TextBox, который я хотел бы разрешить пользователю вводить escape-последовательности, которые затем интерпретируются как символ, который они представляют.Позволяет пользователю вводить escape-символы в 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 

До сих пор я использую следующее обрабатывать «\ г» и «\ п», но я хотел бы также, чтобы быть в состоянии справиться с любой другой последовательности бежать, как \u001A (Ctrl + Z), или \u001B (ЭКУ)

string str = txtBox.Text.Replace("\\r","\r").Replace("\\n","\n"); 

... Там должно быть более общий способ обработки этого ...

ответ

3

Вы можете попробовать использовать System.Text.RegularExpressions.Regex.Unescape статический метод:

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

Но, к сожалению, это применимо в основном для управляющих символов Regex ,

+0

Именно то, что я искал! Я знал, что простой ответ просто ускользал от меня ... Спасибо! – chezy525

Смежные вопросы