Consulte los métodos Regex.Replace
que tienen una sobrecarga de MatchEvaluator
. El MatchEvaluator
es un método que puede especificar para manejar cada coincidencia individual y devolver lo que se debe usar como el texto de reemplazo para esa coincidencia.
Por ejemplo, este ...
El gato saltó sobre el perro.
0: THE 1: CAT saltó sobre 2: THE 3: DOG.
... es la salida de las siguientes opciones:
using System;
using System.Text.RegularExpressions;
namespace MatchEvaluatorTest
{
class Program
{
static void Main(string[] args)
{
string text = "The cat jumped over the dog.";
Console.WriteLine(text);
Console.WriteLine(Transform(text));
}
static string Transform(string text)
{
int matchNumber = 0;
return Regex.Replace(
text,
@"\b\w{3}\b",
m => Replacement(m.Captures[0].Value, matchNumber++)
);
}
static string Replacement(string s, int i)
{
return string.Format("{0}:{1}", i, s.ToUpper());
}
}
}