我有以下的C#這只是替換看起來像EQUIP輸入字符串的部分:19d005到URL中,像這樣:正則表達式大寫更換
input = Regex.Replace(input, @"(EQUIP:)(\S+)", @"<a title=""View equipment item $2"" href=""/EquipmentDisplay.asp?eqnum=$2"">$1$2</a>", RegexOptions.IgnoreCase);
的HTML最終看起來是這樣的。
<a title="View equipment item 19d005" href="/EquipmentDisplay.asp?eqnum=19d005">EQUIP:19d005</a>
唯一的麻煩是,目標頁面預計eqnum查詢字符串,以全部大寫所以它返回正確的設備時,eqnum = 19D005,但如果它收到eqnum = 19d005失敗。
我想我可以修改和糾正EquipmentDisplay.asp對大寫值的錯誤要求,但如果可能的話,我想通過在上面的Regex.Replace語句中大寫$ 2來使C#代碼符合現有的經典ASP頁面。
理想情況下,我想返回的HTML看起來像這樣:
<a title="View equipment item 19d005" href="/EquipmentDisplay.asp?eqnum=19D005">EQUIP:19d005</a>
注意雖然原始字符串是裝備:19d005(小寫),只有eqnum =值大寫的。
能不能做到,如果是這樣,什麼是應該做它最整潔的方式嗎?
一行程序是一個非常優雅的解決方案,它的方式工作很大。 @Vinko提到使用匿名函數,但沒有舉例,因此我選擇了你的解決方案。我有點困惑,因爲我已經看到=>用於LINQ to SQL,表達式樹和現在的匿名函數?爲什麼這麼多用途? – Sprogz 2008-10-16 07:41:28