如何在替换字符串中使用通配符?

时间:2012-09-19 13:58:47

标签: visual-studio-2010

我需要改变一切:

<label for="*">

进入

<label for="*" class="inline checkbox">

但事实证明我的所有<label for="XXXXXX">都变成了<label for="*" class="inline checkbox">。是的,*字面意思是字符串而不是通配符。

为什么通配符只在Find中取代?我应该在替换字符串中输入什么?

2 个答案:

答案 0 :(得分:17)

接受的答案也在其他地方提供,但对我不起作用。

我必须在Find中使用(。*),在Replace中使用$。

答案 1 :(得分:11)

我不确定是否有办法使用通配符,但你可以使用正则表达式完成它:

  1. Find and Replace下面的Find Options对话框中,查看 Use:,然后从下拉菜单中选择Regular expressions
  2. Find What的文本框中,输入:\<label for="{.*}"\>
  3. Replace with的文本框中,输入:<label for="\1" class="inline checkbox">
  4. 注意:

    • 我使用<转发>\,因为它们是特殊字符。
    • .*将匹配任何字符串。
    • 在替换文本中,\1将替换为之间找到的字符串 查找表达式中的{}

    此外,如果单击查找和替换文本框旁边的箭头,您将找到有关特殊字符的更多信息。