我正在编辑一个格式错误的 html 文件。
在几个地方,标签之间有不必要的空间。参见下面的例子:
<b> Bold Text </b>
我想删除这个额外的空间以获得:
<b>Bold Text</b>
但我无法生成搜索和替换模式来处理所有可能性,即:
<b>**Bold_Text**</b>
<b>**Bold_Text**</b>__normal_text__<em>**Emphasised_Text**</em>
<ul><li>**Bullet**</li><li>**Bullet**</li></ul>
注:*表示需要删除的空间,_表示需要保留的空间。
\(<.\{-}>\)\s\+\(\S\+.*\)\s\+<
在情况 2 中,搜索字符串会出现问题,并且它会删除普通文本周围的空格。我需要对元素进行分组,以便我可以在替换中使用它们。
我能找到的最好方法是使用
tidy
to clean the file up and then use::%s/<b>\s*/<b>
以及宏中的几个这样的命令