如何将Regex.Replace中的匹配项转换为替换字符串
本文关键字:转换 字符串 替换 Regex Replace | 更新日期: 2023-09-27 18:19:53
我需要Regex.Replace中的匹配项作为替换字符串的一部分。例如,如果我想将DOMAIN更改为<a>DOMAIN</a>
,无论它在哪里显示DOMAIN。如何将DOMAIN加入比赛?
regex.Replace(input, String.Format("<a>{0}</a>" WHAT_HERE?));
如何找到"WHAT_HERE?"?
您可以使用分组构造(...)
:
string replaced = Regex.Replace("<input>", "(DOMAIN)", "<a>$1</a>");
示例:https://dotnetfiddle.net/Hu0cEO
Andrew的答案是正确的,如果你想命名分组,然后用名称替换它,下面是你应该怎么做的(从Andrew的dotnetfiddle扩展而来):
using System;
using System.Text.RegularExpressions;
public class Program
{
public static void Main()
{
string result = Regex.Replace("This is a test to see if DOMAIN gets replaced properly. DOMAIN", "(?<myName>DOMAIN)", "<a>${myName}</a>");
result.Dump();
}
}
输出:
This is a test to see if <a>DOMAIN</a> gets replaced properly. <a>DOMAIN</a>