2017-02-08 2 views
-2

я должен заменить выражение ниже: -многострочный поиск и замена получить набор свойств Notepad ++ или Visual Studio

public string Body => 
     this._body; 

To:

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

Я использую Notepad ++, чтобы найти и заменить, как показано ниже: - Найти regx: =>\s*.*?; заменить regx: {get{return\s*.*?;} set{\s*.*? = value;}}

, который, кажется, не работает, и заменить его неправильно без название свойства, как указано ниже: -

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

Как мы можем изменить выражение, чтобы получить желаемый результат с именем свойства? Также мы можем сделать что-то подобное в Visual Studio? Спасибо.

+0

Зачем использовать regx? Похоже, вы не нуждаетесь в регсе событий, кроме, может быть, для пробелов. Визуальные студии находили и заменяли, как всегда, отлично работали для меня. – yardpenalty

+0

Кажется, что это работает. Но мы пытаемся одновременно заменить все такое возникновение для всех других свойств. У нас есть несколько свойств, которые нужно заменить. Посмотрев на визуальную студию, вы можете найти и заменить плагин, но он не может найти все регулярное выражение. – user3182464

+0

Попробуйте то, что я разместил. Я скопировал и вложил в файл, разбросал их по всему месту и изменил пробелы для некоторых, и нашел их всех, используя Replace in Files, используя 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()

Смежные вопросы