2012-09-19 46 views
3

我需要改變這一切:如何在替換字符串中使用通配符?

<label for="*"> 

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

但事實證明,我的所有<label for="XXXXXX">都變成了<label for="*" class="inline checkbox">。是的,*字面上保持爲字符串而不是通配符。

通配符如何才能在Find in Replace中有效?我應該在替換字符串中輸入什麼內容?

+0

您已經看到此內容? http://msdn.microsoft.com/en-us/library/afy96z92%28v=vs.80%29.aspx – lifetimes

+0

你使用String.Replace或Regex.Replace嗎?你能顯示你的代碼嗎? –

+0

@Forte L.我沒有使用任何代碼。只需找到並替換對話框。 – Blaise

回答

6

我不知道是否有一種方法使用通配符做到這一點,但是你也可以使用正則表達式得到完成:

  1. Find and Replace對話框,下面Find Options,檢查 Use:和下拉選擇Regular expressions
  2. 在爲Find What文本框中,鍵入:\<label for="{.*}"\>
  3. 在文本框中爲Replace with,類型:<label for="\1" class="inline checkbox">

注:

  • 我逃<>\因爲他們是特殊字符。
  • .*將匹配任何字符串。
  • 在替換文本中,\1將替換爲發現表達式中發現的 ,{}之間的字符串。

此外,如果您單擊查找和替換文本框旁邊的箭頭,可以找到有關特殊字符的更多信息。

9

接受的答案也在其他地方提供,但沒有爲我工作。

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

+1

我認爲它在VS 13或15中發生了變化。我使用VS 15並且可以爲同樣的事情擔保。 {}不再工作,但()做。與使用$標識組相同 – sohtimsso1970