我有一个字符串:
string str = "= Fields!Change_Date.Value & Fields!Change_User.Value";
我希望输出为:
更改日期&&更改用户
我可以使用多个Regex.Replace
方法来实现它,如:
string str = "= Fields!Change_Date.Value & Fields!Change_User.Value";
string x = Regex.Replace(str, @"=? Fields!", " ");
string y = Regex.Replace(x, @".Value", "");
string z = Regex.Replace(y, @"&", "&&");
我怎样才能一次完成呢?可能吗?
2条答案
按热度按时间e3bfsja21#
您可以捕获
Change_Date
和Change_User
的单词字符,并在您不想保留的字符之间进行匹配。然后,在更换过程中,仅使用2个捕获组,中间为
&&
。^
字符串开始= Fields!
按字面匹配(\w+)
捕获组1,匹配1+单词字符\.Value & Fields!
匹配.Value & Fields!
(\w+)
捕获组2,匹配1+单词字符\.Value
匹配.Value
$
字符串结束请参见regex101 demo和C# demo。
产出
busg9geu2#
您可以尝试搜索并替换为组捕获
参见here演示