2012-06-20 2 views
0

Я использую notepad ++ для выполнения некоторых преобразований даты, но столкнулся с проблемой.переформатирование даты

можно преобразовать даты в формате дд/мм/гггг гггг-мм-дд

НО, некоторые даты в виде D/M/гггг, поскольку существует только одна цифра в течение дня или месяца а затем мое регулярное выражение выходит из строя.

Как я могу отформатировать их все для чтения dd/mm/yyyy?

Я бы очень признателен за помощь!

ответ

0

Не знаю, Notepad + версию регулярных выражений, но, возможно, это будет делать работу:

(\d+)/(\d+)/(\d\d\d\d) 

\d является цифра и может быть заменен [0-9]

+ означает одну или более и может быть заменен с {1,2}, что означает одно или два события

Если вы хотите заменить день или месяц на добавление начального нуля, вам следует сделать это с помощью простой программы. От редактора вы должны сделать это в 3 этапа:

  1. заменить dd/mm/yyyy, как вы делаете это уже
  2. заменить d/mm/yyyy[^0-9]([0-9])/([0-9]){2}/([0-9]){4} ->\3-\2-0\1
  3. заменить dd/m/yyyy([0-9]){2}/([0-9])/([0-9]){4} ->\3-0\2-\1
+0

Спасибо за это, я надеялся на одно выражение, чтобы сделать все это, но это был ленивый! Это прекрасно работает. – Dave

1
([0-9]{1,2})/([0-9]{1,2})/([0-9]{4}) 
+0

Хорошо работает, чтобы найти даты, спасибо за это. В настоящее время у меня есть следующий \ 3- \ 2- \ 1 для замены (это изменяет порядок и отделяет его от "-". Как заменить отдельные вхождения (d/m/yyyy) на правильный формат даты (yyyy-mm-dd)? – Dave

+0

'([0-9])/([0-9])/([0-9] {4})', а затем '0 \ 3-0 \ 2- \ 1' или '([0-9] {2})/([0-9])/([0-9] {4})', а затем \ 3-0 \ 2- \ 1 зависит от того, где месяц/день имеет два номера – kiri

Смежные вопросы