2016-06-26 3 views
1

Как я могу удалить символьные литералы из строки?Как удалить символьные литералы из строки?

Текущий текст выглядит следующим образом:

<span class=\"comment\">\r\n\t\t\t\t\t2 hours ago&nbsp;\r\n\t\t\t\t<\/span>\r\n\t\t\t\t\t\t\t<\/div> 

Но я хочу это так:

<span class="comment">2 hours ago&nbsp;</span></div> 

Я попытался

string replacement = Regex.Replace(response, @"\t|\n|\r", ""); 

но не работает.

+0

Backslash не имеет особого значения в HTML: '\ T' два символа. В C# это escape-последовательность для вкладки. Если это действительно ваш HTML, вам нужно сопоставить обратную косую черту, за которой следует r/n/t, а не символ управления. – Richard

ответ

2

Вы должны бежать

\

попробовать это:

Regex.Replace(response, @"\\t|\\n|\\r", "") 
+0

Не в литральной (строка '@' prefixed): baskslash не имеет особого значения. – Richard

+1

@Richard Как это Regex, нужны двойные обратные косые черты. С одной обратной косой чертой Regex будет искать фактические вкладки и новые строки, а не текстовые литералы. – WhoIsRich

+0

Это действительно сработало. Спасибо огромное! –

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