Regex повторная замена - PullRequest
       1

Regex повторная замена

0 голосов
/ 16 июля 2010

Возможно ли иметь один, но повторяющийся вызов 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 прогона, сначала запустите вышеуказанную замену, затем замените несколько точек.

Ответы [ 4 ]

3 голосов
/ 16 июля 2010

Да, используйте

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

чтобы поймать несколько разделителей за один раз.

См. эту страницу MSDN для получения подробной информации о квантификаторах регулярных выражений (например, "+").

0 голосов
/ 16 июля 2010
string dateSeparators = @"[./\\-]+";
0 голосов
/ 16 июля 2010
string dateSeperators = @"(\.|/|\\|-)+";

Это будет соответствовать всем повторяющимся разделителям.

0 голосов
/ 16 июля 2010

Попробуйте использовать это для ваших dateSeperators:

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

Это дает:

01.02.2008
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...