A melhor maneira que encontrei foi usar tidy
para limpar o arquivo e usar:
:%s/<b>\s*/<b>
e vários desses comandos em uma macro
Eu tenho um arquivo html mal formatado que estou editando.
Em vários lugares, há espaço desnecessário entre as tags. Veja abaixo, por exemplo:
<b> Bold Text </b>
Eu quero remover este espaço extra para obter:
<b>Bold Text</b>
Mas não consigo gerar o padrão Pesquisar e substituir para cuidar de todas as possibilidades, a saber:
<b>**Bold_Text**</b>
<b>**Bold_Text**</b>__normal_text__<em>**Emphasised_Text**</em>
<ul><li>**Bullet**</li><li>**Bullet**</li></ul>
Nota: * indica espaço que precisa ser removido e _ espaço que precisa ser retido.
A string de pesquisa \(<.\{-}>\)\s\+\(\S\+.*\)\s\+<
falha no caso 2 e remove o espaço em torno do texto normal. Eu preciso agrupar os elementos para que eu possa usá-los em substituição.
A melhor maneira que encontrei foi usar tidy
para limpar o arquivo e usar:
:%s/<b>\s*/<b>
e vários desses comandos em uma macro