Obsługa regex escape tekst zastępczy, który zawiera znak dolara

<code>string input = "Hello World!";
string pattern = "(World|Universe)";
string replacement = "$1";

string result = Regex.Replace(input, pattern, replacement);
</code>

Mając następujący przykład, wynik byłby następujący"Hello World!", jak$1 zostaje zastąpiony pierwszą grupą(World|Universe), jednak chcę tego rezultatu"Hello $1!"

TheRegex.Escape Metoda ta ma być użyta do ucieczki z wzorca Regex, a nie do zastąpienia, ponieważ może uciec od innych znaków, takich jak ukośniki i inne znaki wzorca Regex. Oczywistym rozwiązaniem mojego problemu jest to, aby mój zamiennik był równy"$$1"i osiągnie"Hello $1!", ale zastanawiałem się, czy znak dolara jest jedyną wartością, którą muszę uciec (zakładającreplacement jest generowany przez użytkownika i nie wiem tego z wyprzedzeniem), czy istnieje funkcja pomocnicza, która już to robi.

Czy ktoś wie o funkcji, która wymyka się tej wartości zastępczejRegex.Replace(string input, string pattern, string replacement) używa?

questionAnswers(1)

yourAnswerToTheQuestion