相关疑难解决方法(0)

仅使用Regex替换某些组

我们假设我有以下正则表达式:

-(\d+)-
Run Code Online (Sandbox Code Playgroud)

我想更换,使用C#,1组(\d+)AA,获得:

-AA-
Run Code Online (Sandbox Code Playgroud)

现在我用以下方法替换它:

var text = "example-123-example";
var pattern = @"-(\d+)-";
var replaced = Regex.Replace(text, pattern, "-AA-"); 
Run Code Online (Sandbox Code Playgroud)

但我真的不喜欢这个,因为如果我改变模式来匹配_(\d+)_,我也必须改变替换字符串_AA_,这是违反DRY原则的.

我正在寻找类似的东西:

保持匹配的文本的确切方式,但更改组1 this text和组2 another text...

编辑:
这只是一个例子.我只是在寻找一种做我上面所说的通用方法.

它应该适用于:

anything(\d+)more_text 以及你能想象到的任何模式.

我想要做的只是替换组,并保持匹配的其余部分.

c# regex replace

179
推荐指数
5
解决办法
11万
查看次数

标签 统计

c# ×1

regex ×1

replace ×1