将所有字符串转换为插值字符串

时间:2017-06-24 19:14:23

标签: c# regex visual-studio resharper automated-refactoring

我想用插值字符串替换项目中的所有字符串文字。我没有在R#/ Code cleanUp / ReFactor设置中找到任何选项。我不在乎它是否是另一种解决方案(例如,包含VS和RegEx的搜索和替换选项)。

一个例子:

Console.WriteLine ("foo{myVariable}"); Console.WriteLine (Console.ReadLine() == "fee{myVariable}" || Console.ReadLine() == $"fii{myVariable}");

应转换为:

Console.WriteLine($"foo{myVariable}"); Console.WriteLine(Console.ReadLine() == $"fee{myVariable}" || Console.ReadLine() == $"fii{myVariable}");

我已经尝试使用RegEx,但失败了。这是我的搜索字符串:

^(?<toKeep>[^"\n]+.[^$"])(?<toReplace>")

这是我的替换字符串:

${toKeep}$"

这里的问题是,它只匹配一行的第一个字符串,并且还匹配我的XML文档中的字符串。

发生的另一个问题是,并非所有字符串都可以安全地转换为插值字符串 - 例如,switch case需要常量类型作为参数。但是,这个问题可以忽略不计,因为在这里删除插值符号并不困难。

0 个答案:

没有答案
相关问题