如何使用查找和替换在VS Code中删除具有不同值的HTML元素,同时保留其内容?



我想在VS Code中删除所有<a></a>元素(包括类等),但保留元素内部的不同值。这是可能使用正则表达式或其他方式吗?

:

<td><a class="x">1</a></td>
<td><a class="y">2</a></td>
<td><a class="z">3</a></td>

变成了:

<td>1</td>
<td>2</td>
<td>3</td>

我可以帮忙!在查找部分的查找和替换工具中尝试以下操作:

<a[^>]*>(.[^<]*)</a>

然后为替换部分使用捕获组:

$1

这样做是查找<a,然后查找非结束尖括号(>)的任意数量的字符。接下来,它匹配直到下一个开始尖括号(<)的所有字符,然后寻找结束的</a>。最后,中间的所有字符都用于替换匹配的文本,这要归功于捕获组$1

你可以用Emmet:

  • 选择一个</a>
  • 选择全部:Ctrl+Shift+L
  • Arrow Left(现在你正好在所有</a>的前面)
  • 执行命令:Emmet: Remove Tag
  • Esc离开Multi Cursor

如果<a></a>内可以有其他标签

  • 选择一个</a>
  • 选择全部:Ctrl+Shift+L
  • Arrow Left(现在你正好在所有</a>的前面)
  • 执行命令:Emmet: Balance(外向)
  • Cut:Ctrl+X
  • 执行命令:Emmet: Balance(外向)(select all<a....></a>)
  • 粘贴:Ctrl+V
  • Esc离开多光标

如果你只想在特定的<a....></a>标签上这样做,不要使用选择所有:Ctrl+Shift+LCtrl+DCtrl+K Ctrl+D

如果你需要做很多,设置一些键绑定到Emmet命令使用

相关内容

  • 没有找到相关文章

最新更新