[英]How can I replace specific word in c# with parenthesis?
考慮以下字符串:
string s = "The man is (old).";
如果我使用:
Regex.Replace(s,@"\b\(old\)\b", @"<b>$&</b>");
輸出為:
這個人是(老)。
但我會像這樣更改整個(舊)單詞:
這個人(老) 。
我怎樣才能做到這一點?
\\b
將不匹配,因為(
和)
不是單詞字符。 您將它們放到那里是有原因的,因為您可以將它們排除在外:
string replaced = Regex.Replace(s,@"\(old\)", @"<b>$&</b>");
根據規格 :
\\b
:匹配必須在\\ w(字母數字)和\\ W(非字母數字)字符之間的邊界上進行。
-space-
和)
都是非字母數字。 (
和.
相同,因此\\b
在兩種情況下都不匹配。
您甚至可能不需要正則表達式...嘗試
string result = s.Replace("(old)", "<b>(old)</b>");
要么
string result = s.Replace("(", "<b>(").Replace(")", ")</b>");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.