我继承了一些C#代码,其中包含我需要修改的大约一千行源代码,并将其转换为:
newDataRow["to_dir"] = comboBox108.Text;
对此:
assetAttributes.Add("to_dir", comboBox108.Text);
这些行在整个应用程序的各个位置出现在40或50的组中。在Visual Studio 2008中手动修改每一行都可以完成,但是它是劳动密集型的并且容易出错。
是否有一个Windows实用程序可以让我剪切并粘贴代码组,然后运行某种reg-ex表达式逐个转换单个行?我也愿意使用某种VS 2008加载项,它对选择的代码执行相同的reg-ex操作。
提前致谢。
答案 0 :(得分:2)
虽然不是很棒的体验,但您可以使用VS2008内置的搜索功能。替换为此。
请注意,它有自己的正则表达式语法。为此,请转到编辑|找到&替换|替换文件。然后展开“查找选项”并选择使用正则表达式。
试试这个 - 测试并修复...对于您的搜索字词,请使用
newDataRow\[{"[."]*"}\] = {[^;]*}
并替换为
assetAttributes.Add\("\1", \2\);
\ 1和\ 2标识符是找到的第一个和第二个组(用{}包围)。点击菜单搜索字词旁边的箭头,选择botom选项以寻求帮助。
答案 1 :(得分:1)
在Visual Studio中,“查找和替换”允许您使用正则表达式替换。在“查找和替换”对话框的“查找选项”下,有一个“使用”复选框,其中包含正则表达式。使用“查找内容”和“替换为”旁边的箭头,了解Visual Studio略有不同的语法。
答案 2 :(得分:1)
使用正则表达式搜索和替换,您可以搜索:
newDataRow\["([a-zA-Z_]+)"\] = comboBox([0-9]+).Text;
并替换为
assetAttributes.Add("\1", comboBox\2.Text);
应该做的伎俩:o)
答案 3 :(得分:1)
如果您只是想要一个可以执行此操作的文本编辑器,您可能需要尝试PSPad - 查找/替换允许使用正则表达式。
答案 4 :(得分:0)
Windows Grep非常棒,应该完全符合您的要求,而且更多:
答案 5 :(得分:0)
我在这个问题上选择的工具可能是Notepad ++(在Finds中搜索/查找 - 确实也可以替换)。支持RegExps。