2010-07-16 73 views
0

是否有可能有一個單一但重複出現的regex.replace調用? 例如正則表達式重複替換

string dateText = "01\.02\\.2008"; 
string dateSeperators = @"\.|/|\\|-"; 
string result = Regex.Replace(dateText, dateSeperators, "."); // needs to be fixed. single call possible? 

結果應該是「01.02.2008」。 當前我需要2次運行,首先運行上面的替換,然後替換多次出現的點。

回答

3

是,使用

string dateSeparators = @"(\.|/|\\|-)+"; 

趕上多個分離一氣呵成。

有關正則表達式量詞(如「+」)的詳細信息,請參閱this MSDN page

+0

+1爲先。 – Brian 2010-07-16 15:12:17

0

嘗試使用此爲您dateSeperators:

string dateSeperators = @"(\.|/|\\|-)+" 

這產生了:

01.02.2008 
0
string dateSeperators = @"(\.|/|\\|-)+"; 

這將匹配所有重複分隔符。

0
string dateSeparators = @"[./\\-]+";