2016-07-31 104 views
7

下面的代碼:取代數混淆

string myVar = "00000"; 
string myPtrn = "(.).(...)"; 
string mySub = "$1" + "1" + "$2"; 
string myResult = Regex.Replace(myVar, myPtrn, mySub); 
MessageBox.Show("Before :\t" + myVar + "\nAfter :\t" + myResult); 

結果是$11000。我想有0100000000。我想$1$11混淆。

回答

6

你可以把捕捉裏面{}組號碼,以避免像

string mySub = "${1}" + "1" + "$2"; 

Ideone Demo

的正則表達式引擎的任何混亂的意見建議,您也可以使用

string mySub = "${1}1$2"; 
+1

這將與'string mySub =「$ {1} 1 $ 2」;' – Mariano

+0

@Mariano相同,我相信,OP可以這樣做 – rock321987

+1

可能是這樣,但值得一提的是,因爲我認爲OP也很困惑,認爲「$ 1」+「1」+「$ 2」會阻止它將其解釋爲「$ 11」,並且沒有必要分離他們在代碼 – Mariano