2016-11-29 2 views
10

У меня есть этот текст. Есть новая строка перед тегом </ul>. Поэтому я не мог удалить эту строку с этим кодом.Не удается удалить новую строку из текста

str = str.Replace(Environment.NewLine,""); 

Но этот код работает только для обычной строки.

<ul style="list-style-type&#58;circle;"> 
    <li><a class="ms - wikilink" href="/Test.aspx">Test1</a></li> 

</ul> 
+0

Я попытался это один, но не помогло 'Regex.Replace (содержание, @ "\ s +", String.Empty);' –

+0

Таким образом, вы хотите удалить все символы newLine из строки ввода html, которая может выглядеть как приведенный выше код, не так ли? –

+0

Да, это 'str = str.Replace (Environment.NewLine," ");' не помогло. –

ответ

9

Вы можете удалить его с Regex легко

Regex.Replace(stringValue, @"\t|\n|\r", ""); 

Надеюсь, это поможет!

1

Вы можете посмотреть на следующих сценариев

^$ - который смотрит на все, что начинается и конца (без символов) или ^\s+$ - который выглядит для любой строки, которая начинается, имеет пробелы, и заканчивается

искать как Whithout нескольких поисков

(^$|^\s+$) -() группы, | позволяет оператор OR в поисках

Regex.Replace(content, @"(^$|^\s+$)", String.Empty); - пожалуйста, имейте в виду, мой C# подзабыл, убедитесь, что вы включили многострочного поиска в регулярном выражении (обычно /m)

2

Это может сделать трюк для вас

var regex = new Regex(@"(?<=>)\s+?(?=<)", RegexOptions.Multiline); 
var outstr = regex.Replace(YourHTMLString,""); 
Смежные вопросы