1

我有一个在 Javascript 中运行良好的正则表达式

var dbId = "Test/Detail[@Name='ok'][@Details='ok2']/Submit";
dbId.replace(/(?:\[@Name='.+?'\]|\[@Details='.+?'\])/g,"");

但是当我在 C# 中尝试它时它不起作用

C#

Regex.Replace(dbId, @"(?:\[@Name='.+?'\]|\[@Details='.+?'\])", String.Empty);

请帮忙

4

1 回答 1

12

字符串是不可变的,因此不会就地进行替换。

dbId = Regex.Replace(dbId, @"(?:\[@Name='.+?'\]|\[@Details='.+?'\])", String.Empty);

将结果分配回dbId


结果:Test/Detail/Submit

于 2013-07-30T15:51:11.417 回答