Существует ли утилита Windows, которая позволяет мне выполнять несколько программных операций поиска / замены текста, который я вырезал и вставлял в него? - PullRequest
0 голосов
/ 16 июня 2010

Я унаследовал некоторый код C #, который содержит около тысячи строк исходного кода, который мне нужно изменить, преобразовав его из этого:

newDataRow["to_dir"] = comboBox108.Text;

В это:

assetAttributes.Add("to_dir", comboBox108.Text);

Строки встречаются в разных местах приложения в группах по 40 или 50. Изменение каждой строки вручную в Visual Studio 2008 может быть выполнено, но это трудоемко и подвержено ошибкам.

Есть ли там утилита Windowsчто позволит мне вырезать и вставлять в него группы кода, а затем запускать какое-то выражение reg-ex для преобразования отдельных строк по очереди?Я также хотел бы использовать какую-то надстройку VS 2008, которая выполняла тот же набор операций reg-ex с выделенным кодом.

Заранее спасибо.

Ответы [ 6 ]

2 голосов
/ 16 июня 2010

Хотя это не очень удачный опыт, вы можете использовать для этого встроенный поиск и замену VS2008.

Обратите внимание, что у него есть собственный синтаксис регулярных выражений. Для этого перейдите в Edit | Найти и заменить | Заменить в файлах. Затем разверните «Параметры поиска» и выберите использование регулярных выражений.

Попробуйте это - протестируйте и исправьте ... Для вашего поискового запроса используйте
newDataRow\[{"[."]*"}\] = {[^;]*} и заменить на assetAttributes.Add\("\1", \2\);

Идентификаторы \ 1 и \ 2 - это первая и вторая группы (в окружении {}), которые были найдены. нажмите стрелки рядом с условиями поиска для меню, выберите опцию «botom», чтобы помочь.

1 голос
/ 16 июня 2010

Если вам просто нужен текстовый редактор, который может сделать это, вы можете попробовать PSPad - поиск / замена позволяет использовать регулярные выражения.

1 голос
/ 16 июня 2010

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

newDataRow\["([a-zA-Z_]+)"\] = comboBox([0-9]+).Text;

и заменять на

assetAttributes.Add("\1", comboBox\2.Text);

, что должно помочь: o)

1 голос
/ 16 июня 2010

В Visual Studio функция «Найти и заменить» позволяет выполнять замену с помощью регулярных выражений. В диалоговом окне «Найти и заменить» в разделе «Параметры поиска» есть флажок «Использовать» с регулярными выражениями. Используйте стрелки рядом с надписью «Найти что» и «Заменить на», чтобы узнать о немного отличающемся синтаксисе Visual Studio.

0 голосов
/ 09 августа 2012

Мой выбор инструмента в этом вопросе, вероятно, будет Notepad ++ (Поиск / Поиск в Finds - тоже заменяет).Поддерживает RegExps.

0 голосов
/ 16 июня 2010

Windows Grep великолепна и должна делать именно то, что вы хотите, и даже больше:

http://www.wingrep.com/

...