Многострочный поиск и замена получить набор свойств notepad++ или visual studio

Я должен заменить выражение ниже:-

public string Body =>
        this._body;

Для того, чтобы:

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? Спасибо.

2 ответа

Решение

Вот способ сделать работу с Npp:

  • Ctrl+H
  • Найти то, что: \b(public\s+string\s+Body)\s+=>\s+this\.(\w+);
  • Заменить: $1 {get{returns $2;} set{$2 = value;}}
  • Заменить все

Это работает для поиска в 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

Мне нравится такой подход, когда вы можете сделать еще один шаг вперед, передать каталог и перебрать все соответствующие файлы regx(*). Cs, используя Directory.EnumerateFiles().

Другие вопросы по тегам