Поиск определенного слова в файлах - PullRequest
0 голосов
/ 06 октября 2010

У нас есть требование заменить слово «ABC» (dummied) на «XYZ» (dummied) во всех файлах.У нас есть сотни файлов aspx / ascx / cs / xml / xsl, которые могут содержать слово.

Требование

  1. Не заменяйте слово, если оно является частью NameSpace (например, ABC.A1.A2 не следует заменять) или имен переменных (var abc = "")или теги (abc: control).
  2. Слово следует заменять только в том случае, если оно является целым словом (в моем файле cs, если у меня есть имя переменной, такое же, как и слово, которое я ищу, оно не должнозаменить. Если у меня есть строковый литерал, например, var str = "ABC - хороший продукт". В этом случае его следует заменить

Это будет действие 1 раз. Как мне проанализировать весь файл дляданное слово и заменить его, если условие выполнено? Планирование использования Regex.

Любые другие идеи действительно приветствуются. Существует ли уже инструмент, который это делает? Я пытался Google, но не смог найти такой инструмент.

Ответы [ 3 ]

2 голосов
/ 06 октября 2010

Если это действительно одноразовое занятие, я бы проголосовал за простое использование Visual Studio Search / Replace, даже если это куча решений.Зачем изобретать велосипед, тем более, что на самом деле вы с большей вероятностью не сделаете это правильно с первого раза, и вам придется отменить сотни изменений вручную?Не так ли?), я бы настоятельно рекомендовал бы провести проверку файлов перед их проверкой, независимо от того, какое решение вы используете.

2 голосов
/ 06 октября 2010

Инструменты типа PowerGREP всегда полезны. Вместе с RegexBuddy у вас есть мощный набор инструментов, который помогает изучать регулярные выражения и справляться с каждой задачей регулярных выражений.

1 голос
/ 06 октября 2010

Исследуйте, можете ли вы перевести свои требования в регулярные выражения. Возможно, один тип файла за раз.
Затем не пишите программу, а используйте существующий инструмент (SED).

Но некоторые из ваших правил кажутся очень сложными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...