我们的代码库有很多 StringBuilder.AppendFormats,它们的字符串以换行符结尾。我创建了一个名为 AppendLineFormat 的扩展方法,并希望使用 Resharper 的自定义模式功能来识别和修复那些旧调用以使用新的扩展方法(并在未来向其他人建议这种新的扩展方法)。
StringBuilder sb = new StringBuilder();
int i = 1;
sb.AppendFormat("i is {0}\r\n", i);
进入
sb.AppendLineFormat("i is {0}", i);
有没有办法使用正则表达式(带替换)来识别匹配的字符串?我不想将每个 AppendFormat 都变成 AppendLineFormat - 只有那些以 \r\n 结尾的字符串。这是我到目前为止所得到的。
搜索模式:
$sb$.AppendFormat($newLineString$,$args$)
替换模式:
$sb$.AppendLineFormat($newLineString$,$args$)
在哪里
- $sb$ 是 System.Text.StringBuilder 类型的表达式
- $newLineString$ 是一个标识符匹配
"(.*)\\r\\n"
(完全错误,我知道) - $args$ 是任意数量的参数