使用Find& amp;标准化字符串比较语法更换

时间:2014-04-03 19:11:11

标签: c# regex visual-studio replace visual-studio-2013

我想标准化比较C#文件中的两个字符串时使用的语法。所以我想使用Visual Studio 2013的Find&替换功能以更改用于将字符串文字与字符串变量进行比较的语法。

例如,我希望进行以下替换。

  • "something".Equals( myStr )变为myStr == "something"
  • "something".Equals( myObj.myStr )变为myObj.myStr == "something
  • myStr.Equals( "something" )变为myStr == "something"
  • myObj.myStr.Equals( "something" )变为myObj.myStr == "something

我无法对使用的特定字符串文字或如何命名变量做出任何假设。什么是使这成为可能的正则表达式语法?

1 个答案:

答案 0 :(得分:2)

您必须为每种不同类型的字符串执行两次替换:

("[^"]+")\.Equals\(\s+(\S+)\s+\)

替换为前两种类型的$2 == $1

regex101 demo

(\S*?)\.Equals\(\s+("[^"]+")\s+\)

替换为$2 == $1后两种类型。

regex101 demo