2012-07-05 63 views
0

我有使用regex.replace來替換'#'字符與Environment.Newline。 但是它沒有返回預期的結果。它只是返回相同的輸入字符串。 這是我的代碼。Regex.Replace not replace

Regex.Replace(inputString, @"#", Environment.NewLine); 
+2

您是否試過'var result = Regex.Replace(inputString,@「#」,Environment.NewLine);'? – 2012-07-05 13:35:07

+2

爲什麼不使用string.Replace代替這種簡單的情況? – 2012-07-05 13:35:55

+0

這就是我最終使用的。謝謝! – tympaniplayer 2012-07-05 13:51:48

回答

5

Regex.Replace不會改變你傳入的參數,它返回的結果作爲一個新的字符串。

試試這個:

inputString = Regex.Replace(inputString, @"#", Environment.NewLine); 

當然,正則表達式是這樣一個簡單的替換有點大材小用。 (注意:String.Replace也不會修改參數,但會返回一個新的字符串)。

+1

哇,我覺得啞巴,就是這樣。這只是星期三早上,這是漫長的一天!乾杯! – tympaniplayer 2012-07-05 13:38:24

2

你並不需要一個RegEx爲你在做什麼,更簡單:

inputString = inputString.Replace("#", Environment.NewLine); 
0

由於ABT博士提到的,你需要返回Replace方法到一個變量。所以,你可以這樣做:

inputString = Regex.Replace(inputString, @"#",Environment.NewLine);

這將更新與更換所需的inputString變量。