搜索文件中的特定单词

时间:2010-10-06 18:58:40

标签: c# regex file

我们要求在所有文件中将'ABC'(dummied)替换为'XYZ'(dummied)。我们有数百个aspx / ascx / cs / xml / xsl文件,可能包含这个词。

要求是

  1. 如果它是NameSpace的一部分(例如ABC.A1.A2不应该被替换)或变量名(var abc =“”)或标签(abc:control),请不要替换。
  2. 只有在整个单词中才能替换该单词(在我的cs文件中,如果我的变量名称与我要查找的单词相同,则不应该替换。如果我有一个字符串文字,例如var str =“ABC是好产品”。在这种情况下应该替换
  3. 这将是一次活动。如何解析给定单词的整个文件,如果条件满足则替换它?计划使用正则表达式。

    非常感谢任何其他想法。是否已存在可以执行此操作的工具?我试过谷歌但找不到这样的工具。

3 个答案:

答案 0 :(得分:2)

PowerGREP这样的工具总是有用的。与RegexBuddy一起,您拥有一个强大的工具集,可以帮助学习正则表达式并掌握每个正则表达式的挑战。

答案 1 :(得分:2)

如果这是一次真正的一次性活动,我会投票支持使用Visual Studio Search / Replace,即使它是一堆解决方案。为什么重新发明轮子,特别是因为,实际上,你更有可能在第一次没有正确地做到这一点,并且必须手动撤消数百个更改?

如果您使用源代码管理(您确实使用了源代码管理,对吗?),无论您使用何种解决方案,我都高度建议您在检入文件之前对文件执行差异处理。< / p>

答案 2 :(得分:1)

调查您是否可以将需求转换为正则表达式。一次可能是一种文件类型 然后,不要编写程序,而是使用现有工具(SED)。

但是你的一些规则看起来非常复杂。