Мне нужен TextBox на управлении WPF, которое может взять в тексте как Commit\r\n\r
(который является строкой .NET "Commit\\r\\n\\r"
) и преобразуйте его назад в "Commit\r\n\r"
как строка .NET. Я надеялся на строку. НеEscape () и строка. Escape () пара метода, но это, кажется, не существует. Я оказываюсь перед необходимостью писать свое собственное? или есть ли более простой способ сделать это?
Код Ханса, улучшенная версия.
Сделал его методом расширения
публичный статический класс StringUnescape
{
публичная статическая строка Unescape (this string txt)
{
if (string.IsNullOrEmpty (txt)) {return txt; }
StringBuilder retval = new StringBuilder (txt.Length);
for (int ix = 0; ix = txt.Length) break;
switch (txt [jx + 1])
{
case ' п ': retval.Append (' \ n '); перерыв; // Перевод строки
case 'r': retval.Append ('\ r'); перерыв; // возврат каретки
case 't': retval.Append ('\ t'); перерыв; // Tab
case '\\': retval.Append ('\\'); перерыв; // Не экранировать
default: // Неизвестно, копировать как есть
retval.Append ('\\'). Append (txt [jx + 1]); break;
}
ix = jx + 2;
}
return retval.ToString ();
}
} { {1}}