Sublime Text查找/替换移除</div>

4
<div class="some-class">
    Variable content here
</div>

我希望保留内容,但是需要移除周围的div。显然,删除开头的div很容易,但这会导致数百个</div>漂浮在周围。


为什么不分两步来做:先删除开标签,再删除闭标签呢? - streetturtle
如果你这样做,你会删除所有 </div>,这可能不是 OP 想要做的... - MattDMo
3个回答

5
您可以使用正则表达式来实现此操作。选择“查找-替换”,并确保选中了“正则表达式”按钮。在“查找内容:”中输入:
(?s)<div class="some-class">(.*?)<\/div>

并且在 替换为:

$1

点击此处查看示例

(?s) 使得 . 匹配换行符。捕获组 (.*?) 非贪婪地匹配所有字符,直到第一个 </div> 结束。否则,它将一直匹配到最后一个 </div> (示例)。替换值 $1 是第一个(在本例中也是唯一的)匹配组。


1

如果安装了Emmet插件,请尝试以下操作:

选择开头的div标签,按下CTRL + SHIFT + ",它将突出显示开头和结尾的标签,然后您可以按End键,接着按SHIFT + HOME,删除周围的div。


1

Emmet插件有一个键盘快捷方式可以完成此操作,但您需要在设置中启用它。

打开Emmet Key Bindings首选项(Preferences -> Package Settings -> Emmet -> Key Bindings),然后将以下内容添加到配置文件中:

[
    {
        "keys": ["super+'"],
        "command": "emmet_remove_tag"
    }
]

之后,您可以使用Cmd(Mac)/ Windows键+ '删除标签而不删除内容。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接