2016-11-29 19 views
10

Mam ten tekst. Jest nowa linia przed tagiem </ul>. Nie mogłem usunąć tej linii za pomocą tego kodu.Nie można usunąć nowej linii z tekstu

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

Ale ten kod działa dla zwykłego ciągu znaków.

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

</ul> 
+0

Próbowałem ten jeden, ale nie pomaga 'Regex.Replace (treść, @ "\ s +" string.Empty);' –

+0

więc chcesz usunąć wszystkie znaki newLine z wejściowego łańcucha html, który może wyglądać jak powyższy kod, nieprawdaż? –

+0

tak to 'str = str.Replace (Environment.NewLine," ");' nie pomogło. –

Odpowiedz

9

można usunąć go z Regex łatwo

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

Mam nadzieję, że to pomoże!

1

Możesz zajrzeć do następujących scenariuszy

^$ - która wygląda na cokolwiek, który uruchamia i końca (bez znaków) lub ^\s+$ - która wygląda na każdej linii, która zaczyna, ma białe znaki, a kończy

szukać zarówno whithout wielu wyszukiwań

(^$|^\s+$) -() grupy, | pozwala na stwierdzenie OR w wyszukiwaniu

Regex.Replace(content, @"(^$|^\s+$)", String.Empty); - proszę pamiętać, mój C# jest zardzewiały, upewnij się włączyć wielowierszowego szukają w regex (zwykle /m)

2

Może to załatwi Ci

var regex = new Regex(@"(?<=>)\s+?(?=<)", RegexOptions.Multiline); 
var outstr = regex.Replace(YourHTMLString,""); 
Powiązane problemy