正则表达式重复替换

时间:2010-07-16 14:28:11

标签: .net regex

是否可以进行单次但经常性的regex.replace调用? e.g。

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

结果应该是“01.02.2008”。 目前我需要2次运行,首先运行上面的替换,然后替换多次出现的点。

4 个答案:

答案 0 :(得分:3)

是的,使用

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

一次捕捉多个分隔符。

有关正则表达式量词的详细信息,请参阅this MSDN page

答案 1 :(得分:0)

尝试将此用于dateSeperators:

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

这会产生:

01.02.2008

答案 2 :(得分:0)

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

这将匹配所有重复的分隔符。

答案 3 :(得分:0)

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