2010-12-02 14 views
16

Tengo un archivo con unos pocos miles de filas para agregar a una base de datos MySQL. Hay valores de fecha en las filas que están en el formato dd-mm-aaaa pero necesito que estén en el formato aaaa-mm-dd.Buscar y reemplazar con formato de fecha reordenados en el bloc de notas ++

Por ej., '11-04-2010', necesita convertirse en '2010-04-11', en cada fila.

¿Hay una manera simple de hacer esto en el bloc de notas ++ u otro editor de texto?

Respuesta

26

Usted puede hacer esto con Textpad:

Encontrar: ([0-9]+)-+([0-9]+)-+([0-9]+)

Reemplazar: \ 3 \ 2 \ 1

+5

Funciona en notepad ++ también. – TechTravelThink

+0

@ StartClass0830: Cool. No estaba seguro – crnlx

+0

Sí, seguro que sí, gracias –

5

Para asegurarse de que sólo reordenar formatos erróneos (en caso de que haya mezclado formatos de bases de datos fusionadas), utilice la siguiente:

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

este caso se busca (cuatro dígitos, guiones, dos dígitos, guiones, dos dígitos).

En un editor capaz de expresiones regulares como Notepad ++, reemplazarlo con esto:

\3-\2-\1 

En una herramienta como LibreOffice, es necesario reemplazarlo con esto:

$3-$2-$1 

Editar: Escribí un blog sobre esto ya que parece ser un problema común: http://bytethinker.com/blog/correct-date-format-with-notepad-and-regex

0

Se usó Notepad ++ para cambiar mm/dd/aaaa aaaa/mm/dd en varias líneas de un archivo de texto. La secuencia de comandos se guardó como una macro para el siguiente archivo.

Find: ([0-9] {2})/+ ([0-9] {2})/+ ([0-9] {4}) Reemplazar: \ 3/\ 1/\ 2

Cuestiones relacionadas