Как удалить незначительный пробел в узле XmlNodeType.Text? - PullRequest
1 голос
/ 13 сентября 2010

У меня есть html-узел:

<p>Line1
Line2
Line
ThereAreTwoSpacesAfterThis  ThereAreTwoSpacesBeforeThis
</p>

В любом браузере конечный результат использования будет

Line1 Line2 Line ThereAreTwoSpacesAfterThis ThereAreTwoSpacesBeforeThis 

, который является желаемым результатом.

Итаккак удалить незначительный пробел в узле XmlNodeType.Text (C #)?

===============================================================

Привет, ребята, Спасибо за ваш ответ.

На самом деле я работаю над небольшим проектом по извлечению всего текста с веб-страницы (html): что-то вроде «Сохранить как страницу как текстовый файл» из Firefox или IE.

Iпытался использовать Html Agility Pack, но результат не достаточно хорош.

Я также пытался использовать элемент управления WebBrowser, но он кажется слишком медленным, и его не так-то просто контролировать.

Есть какие-нибудь хорошие идеи?

Я понимаю, что ребята предлагают мне использовать регулярные выражения, но есть слишком много случаев, чтобы думать о них.

1 Ответ

1 голос
/ 13 сентября 2010

Просто используйте регулярное выражение!

var spacesSquashed = Regex.Replace(input, @"\s+", " ", RegexOptions.Singleline);

Если вы также хотите удалить все пробелы в начале и конце, как это принято в HTML, добавьте дополнительный .Trim() в конце.

...