簡體   English   中英

如何用括號替換正則表達式並保留括號c#?

[英]How to replace a regex with parentheses keeping the parentheses c#?

我正在嘗試對文件進行一些正則表達式替換,而我嘗試替換的字符串包含()[]{} ... etc之類的東西,我想在替換后保持原樣,這是一個簡單的示例

string str = @"This is a drill (2).";
string reseult = Regex.Replace(str, "\\((\\d+)\\)", "\\(<x>$1</x>\\)");

Console.WriteLine(reseult);
Console.ReadLine();

結果應輸出This is a drill (<x>2</x>). 但它正在輸出This is a drill \\(<x>2</x>\\). []

為什么會發生這種情況,以及如何在不使用逐字替換的情況下解決此問題?

string str = @"This is a drill (2).";
string reseult = Regex.Replace(str, "\\((\\d+)\\)", "(<x>$1</x>)");

Console.WriteLine(reseult);
Console.ReadLine();
string str = @"This is a drill (2).";
string reseult = Regex.Replace(str, "\\((\\d+)\\)", "(<x>$1</x>)");

Console.WriteLine(reseult);
Console.ReadLine();

您無需在最后部分轉義括號。 它不是正則表達式。 同樣,對於其他大括號,您也不需要將其轉義。 只是使用這個。

string str = @"This is a drill (2).";
string reseult = Regex.Replace(str, "\\((\\d+)\\)", "{<x>$1</x>}");

Console.WriteLine(reseult);
Console.ReadLine();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM