我需要将Regex.Replace中的匹配作为替换字符串的一部分。例如,如果我想将DOMAIN更改为<a>DOMAIN</a>
,无论它在哪里显示DOMAIN。如何让DOMAIN进入比赛?
regex.Replace(input, String.Format("<a>{0}</a>" WHAT_HERE?));
如何找到&#34; WHAT_HERE?&#34;?
答案 0 :(得分:1)
您可以使用grouping construct (...)
:
string replaced = Regex.Replace("<input>", "(DOMAIN)", "<a>$1</a>");
答案 1 :(得分:0)
安德鲁的回答是正确的,如果你想命名分组,然后用名字替换它(从安德鲁的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>