[英]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.