簡體   English   中英

如何用括號替換c#中的特定單詞?

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

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