在一個字符串中,我試圖用不同的值更新同一單詞的多個實例。用一個唯一值替換字符串中的每個單詞的實例
這是一個過於簡單的例子,但鑑於以下字符串:
"The first car I saw was color, the second car was color and the third car was color"
字的顏色我想用「紅」,二審應該是「綠色」和更換的第一個實例第三例應該是「藍色」。
我想要嘗試的是尋找綁定單詞的正則表達式模式,通過循環進行交互並逐個替換它們。請參閱下面的示例代碼。
var colors = new List<string>{ "reg", "green", "blue" };
var sentence = "The first car I saw was color, the second car was color and the third car was color";
foreach(var color in colors)
{
var regex = new Regex("(\b[color]+\b)");
sentence = regex.Replace(sentence, color, 1);
}
但是,「顏色」一詞永遠不會被替換爲適當的顏色名稱。我找不到我做錯了什麼。
這個伎倆。 –
這是一個可愛的代表,我發現你對'regex'標籤並不陌生。 :) – zx81
@ zx81:謝謝!是的,根據我的經驗,大多數人甚至沒有意識到.NET Regex庫支持匹配委託。儘管我更喜歡使用regex作爲語法而不是API,比如Perl。這是我用可樂實際做的,儘管我還沒有決定如何將正則表達式委託語法映射到語法。 – codenheim