Kur*_*sis 5 vim replace wildcard substitution
我正在尝试清理Frontpage生成的html文件,我需要删除大量的标记属性,例如:
style="font-size: 10.0pt; font-family: Trebuchet MS; color: blue"
style="color: blue; text-decoration: underline; text-underline: single"
style="color: blue; text-decoration: underline; text-underline: single"
style="font-family: Trebuchet MS"
style="font-size:10.0pt;"
style="color: navy"
Run Code Online (Sandbox Code Playgroud)
我可以用简单的方法删除一定数量的通配符.命令:
:%s/ style="........"//g
Run Code Online (Sandbox Code Playgroud)
但有没有办法让这个.在该替换命令中可变长度,以便一个命令将删除整个文档中的每个样式属性?
PS - 我搜索过头版清洁工,发现了一些,但不清楚它们有多可靠,所以我自己编写脚本.尽管这里有建议.
Web*_*ser 12
这应该消除HTML中的所有样式属性:
:%s/ style=".*"//g
Run Code Online (Sandbox Code Playgroud)
编辑:Sam Brinck提出了一个很好的观点.我的代码仅基于您的示例.如果属性后面还有其他属性,则此代码会过多地吞噬style="...".更安全的替代方案可能是:
:%s/ style="[^"]*"//g
Run Code Online (Sandbox Code Playgroud)
这意味着-删除所有字符后,style="这是不是一个双引号 [^"]遇到下一个双引号,直到.谢谢山姆!