judah9107 Ответов: 1

Как удалить escape-последовательности из моей строки?


Как удалить escape-последовательности из моей строки C#:

"\0EISO016000050000800822000000000000004000000000000000408150522100522001\u0001\a"

Я хочу удалить эти escape-последовательности:
"\0E"
"\u0001"
"\ля"

Я хочу получить свою нить таким образом:

"ISO016000050000800822000000000000004000000000000000408150522100522001"

Что я уже пробовал:

String unescapedString = Regex.Unescape(textString);

string x = x.Replace("\"","");

0x01AA

Скорее всего слишком прагматично:

static void Main(string[] args)
{
string input = @"\0EISO0160000500800822000000000000004000000000000000408150522100522001\u0001\a";
string deescaped=
input
.Replace(@"\0E", "")
.Replace(@"\u0001", "")
.Replace(@"\a", "");
Console.WriteLine("Input: " + input);
Console.WriteLine("Deescaped: " + deescaped);
Console.ReadKey();
}

1 Ответов

Рейтинг:
2

Richard MacCutchan

Вам нужно будет сделать это вручную и определить последовательность в каждом конкретном случае. В вашей строке есть три escape-последовательности, которые все находятся в разных форматах. Таким образом, ваш код должен будет изучить каждый из них, чтобы определить, сколько символов следует удалить после обратной косой черты.