我遇到了一個問題,我正在使用regex.Replace替換部分字符串。基本思路是我想捕獲字符串的開始,然後用代碼中的值替換字符串的結尾。舉個例子,假設我有一個字符串,表示「測試號碼」後跟數字,我想增加該數字。我捕獲了「測試編號」,但是當我嘗試將捕獲與新數字連接起來時,它將捕獲($ 1)視爲文字,並用$ 1 [新數字]替換整個字符串。在regex.replace中用regex組匹配連接變量
這將輸出「我們在$ 12」。但是,如果我在替換中使用文字,則問題不會發生。
Dim s as String = "We are on Test Number 1"
s=Regex.Replace(s,"(Test Number)(\d)","$1" & "2")
如預期的那樣,這將輸出「We are on Test Number 2」。
有沒有人有任何想法如何在包含捕獲的組時使用Regex.Replace的替換字符串部分中的變量?
在此先感謝。
不幸的是,我的實際代碼沒有空間,但我看你做了什麼。我想這個連接首先發生在正則表達式評估中。 謝謝 – dsrekab 2012-04-05 17:05:30
@dsrekab我已經添加了另一個應該爲你工作的解決方案。 – Jay 2012-04-05 18:42:49