2017-02-08 31 views
-2

我不得不更換表達如下: -多行查找和替換被置物業記事本++或Visual Studio

public string Body => 
     this._body; 

要:

public string Body 
     { 
     get{return _body;} 
      set{_body = value;} 
    } 

我使用記事本+ +查找和如下替換: - 查找至REGx:=>\s*.*?; 更換至REGx:{get{return\s*.*?;} set{\s*.*? = value;}}

這似乎不工作,不正確的更換,而不屬性名稱如下: -

Public string Body {get{returns*.*?;} set{s*.*? = value;}} 

我們如何改變表達式以獲得期望的結果與屬性名稱? 我們也可以在Visual Studio這樣做嗎?謝謝。

+0

爲什麼要使用至REGx?似乎你不需要事件需要regx,除了可能爲空白。視覺工作室發現和替換似乎總是對我很好。 – yardpenalty

+0

它似乎適用於一個。但我們正試圖一次性替代所有其他財產的所有此類事件。我們有幾個屬性需要替換。看着視覺工作室多行查找和替換插件,但它無法找到所有的正則表達式。 – user3182464

+0

試試我發佈的內容。我複製並粘貼到一個文件,並將它們分散到所有地方,並更改了一些空格,並且使用regx – yardpenalty

回答

0

這是一種與淨第一性生產力來完成這項工作。

  • 按Ctrl + H^
  • 查找內容:\b(public\s+string\s+Body)\s+=>\s+this\.(\w+);
  • 替換爲:$1 {get{returns $2;} set{$2 = value;}}
  • 更換所有
+0

使用「在文件中替換」發現它們全都是謝謝你的答案。 – user3182464

+0

不客氣,很高興幫助。 – Toto

0

該方法適用於找到VS2015 (\bpublic\b[\s\r\n]*\bstring\b[\s\r\n]*\bBody\b([\s|\r\n]*)=>([\s\r\n]*)\bthis\b([\s\r\n]*)\b\._body\b)

我只想用的找到並點擊高亮區域,並將其粘貼取決於有多少替代品正在發生。你幾乎可以更好地編寫一個小型控制檯應用程序來遍歷目錄中的所有文件,如果它們具有相同的文件類型.ext

我喜歡這種方法here在那裏你可以更進一步,並通過目錄和通過所有匹配至REGx(*)迭代CS文件中使用Directory.EnumerateFiles()