You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何批量删除SVG中仅含fill无stroke的图形以保留无fill图形?

解决方案:保留SVG中无fill的图形,删除仅含fill无stroke的图形

方法一:文本编辑器+正则表达式批量处理

SVG是XML格式的文本文件,你可以用支持正则的编辑器(比如VS Code、Notepad++)直接修改,批量删除目标元素:

正则匹配规则

针对**仅设置fill、未设置stroke(或stroke为none)**的图形元素(如<path>``<polygon>等),可以用以下正则匹配:

<(path|polygon|rect|circle|ellipse|polyline)[^>]*fill="[^"]+"[^>]*stroke(?:="none"|(?![^>]*stroke))[^>]*>.*?</\1>

操作步骤

  1. 下载目标SVG文件到本地,用文本编辑器打开
  2. 打开编辑器的替换功能(VS Code按Ctrl+H,Notepad++按Ctrl+H)
  3. 勾选「正则表达式」模式
  4. 将上述正则粘贴到「查找内容」框,「替换为」框留空
  5. 点击「全部替换」,即可批量删除符合条件的元素

方法二:手动定位删除(更稳妥)

如果担心正则误匹配,可手动筛选删除:

  • 在文件中查找包含fill="但不包含stroke="(或stroke="none")的图形标签
  • 直接删除类似 <path fill="#FFFF00" d="..." /> 或 <polygon fill="#FFFF00" points="..." stroke="none" /> 的整行/元素块

注意事项

  • 操作前务必备份原文件,避免误操作导致文件损坏
  • 若SVG样式写在<style>标签内(如.yellow-fill { fill: yellow; }),正则无法直接匹配,需先将样式转为元素内联属性,或手动删除对应样式规则及应用该类的元素

内容的提问来源于stack exchange,提问作者oli_vi_er

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 23:53:25