我想在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+L
但Ctrl+D
和Ctrl+K Ctrl+D
如果你需要做很多,设置一些键绑定到Emmet命令使用