Visual Studio 2008搜索和替换正则表达式

7

我有一个大型的方案,其中有很多行需要替换。

在Visual Studio中,您可以借助正则表达式进行搜索和替换。

我想要替换类似以下的行:

rst.Fields("CustomerName").Value
rst.Fields("Address").Value
rst.Fields("Invoice").Value

致:

row("CustomerName").ToString()
row("Address").ToString()
row("Invoice").ToString()

如何保留可变的动态文本部分?

这是否可能,如何实现?

更新,解决方案:
搜索:rst.Fields{\(.*\)}\.Value
替换:rst\1.ToString()

感谢JaredPar!


可能是的。不过我们需要更多的细节。哪些部分是不变的?例如,“Command”这个词是不变的吗?还是你会逐个方法进行操作? - codekaizen
好的,已经用一个更好的示例编辑了帖子。 - Michel van Engelen
3个回答

5
请尝试以下操作:
  • 搜索表达式:ASpecificCommand(\(.*\))\.ASpecificProperty
  • 替换表达式:ATotallyDifferentCommand\1.ATotallyDifferentProperty

注意:这不是完美的解决方案。由于涉及到括号的匹配,因此正则表达式永远不会是一个完美的解决方案。但是,它应该能够完成您发布的特定模式的任务。


3
非常接近,这确实让我走上了正确的轨道(在正则表达式中使用回溯引用)。解决方案需要使用 {} 而不是 ()。谢谢! - Michel van Engelen

3

提供的答案和解决方案有助于在消息框中进行查找和替换。

这在Visual Studio 2008(VB .NET)中有效:

示例:

MessageBox.Show("Invalid Entry","Error")

查找内容:

MessageBox.Show{(.*,*)}

替换为:

Error.ShowError\1\2

结果为:

Error.ShowError("Invalid Entry","Error")

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接