Есть ли способ в VB.NET удалить все пробелы между тегами в HTML?
Скажите, у меня есть это:
<tr>
<td>
Созданная мною строка представляет собой целый HTML-документ, и все, что находится перед этими тегами, считается допустимым пространством, поэтому мне нужно обрезать его. Есть ли там рег или функция, которую я мог бы использовать для этого?
Спасибо






В зависимости от сложности вашего документа вам, вероятно, просто понадобится регулярное выражение замены во всем документе ... Что-то вроде:
RegexObj.Replace ("> [\ s \ n] * <", "> <")
Вы можете прочитать о .NET и регулярных выражениях здесь
Обратите внимание, что это также приведет к удалению допустимых пробелов внутри тегов, например: <td> </td> Было бы отображено одно пространство. Теперь не будет. Некоторые браузеры при определенных обстоятельствах будут отображать ячейку полностью по-другому, потому что она пуста.
'>' не всегда является концом тега, его можно включать без экранирования в текст, значения атрибутов и многие другие места. Как всегда, регулярное выражение - неподходящий инструмент для обработки [X] HTML.
Приведенное выше решение - хорошее начало, но код немного неправильный, а регулярное выражение больше, чем должно быть. Вот минимум, что вам нужно сделать в этом случае:
Dim RegexObj As New Regex(">[\s]*<")
NewText = RegexObj.Replace(OldText, "><")
\n не нужен, потому что .Net включает символы возврата каретки и перевода строки в набор пробельных символов (\s). Не уверен насчет других языков. А если этого не произошло, вам также потребуется включить символ \r, потому что новая строка Windows - это \r\n в регулярном выражении, а не только \n.
Работает на удивление хорошо. Спасибо.