regexp - 替换另一个文本之外的文本

问题描述 投票:-1回答:2

我正在编辑一些C#代码,需要将nameof(somevar)等表达式更改为“somevar”。是否可以使用正则表达式?

以下是一个更好的例子:

是)我有的:

throw new ArgumentException(nameof(outputFilePath));

我需要的:

throw new ArgumentException("outputFilePath");
c# regex
2个回答
1
投票

替换正则表达式:

  nameof\(([^)]*)\)

通过:

  "\1"

1
投票

这应该这样做:

  string s = "nameof(abc)";
  Regex r = new Regex("nameof\\((.+?)\\)");
  string output = r.Replace(s, "\"$1\"");
  • \(搜索左括号
  • (.+?)创建了一个组(即$1),它搜索任何一个或多个char(.)(+),懒洋洋地(?
  • \)搜索右括号
© www.soinside.com 2019 - 2024. All rights reserved.