我想搜索/替换文本,但只能在Visual Studio 2010 IDE中使用引号中的文本,这可能吗?
例如我想改变
属性oldValue
in
NEWVALUE
但仅当搜索到的文本被引号或双引号括起来时,就像这样
string something = "This string have oldValue"; // replace this
int oldValue = 44; // don't replace this
顺便说一句。这不仅限于C#或VB.NET代码,我想在其他文件类型上执行此操作,例如SQL脚本等。
答案 0 :(得分:3)
您可以在Visual Studio的查找对话框中使用正则表达式选项。
您的“找到什么”会是这样的:{".*}oldValue{.*"}
这会找到一个双引号,后跟任何字符,然后是你的“oldValue”,然后是任何字符,最后是另一个引号。
您的“替换为”将是:\1newValue\2
这将保留oldValue前面或后面的任何内容。
由于此正则表达式未在内部引号中查找值,因此只有前后引号的值才会错误地对以下内容起作用:"abc" oldvalue "123"