Foros del Web » Programación para mayores de 30 ;) » Programación General »

Expresiones regulares en notepad++

Estas en el tema de Expresiones regulares en notepad++ en el foro de Programación General en Foros del Web. Hola Ando intentando hacer lo siguiente, tengo un txt así: Código: 00000 xxxxxx xxxxxx xxxxxx xxxxxx 00000 xxxxxx xxxxxx xxxxxx xxxxxx 00000 xxxxxx xxxxxx xxxxxx ...
  #1 (permalink)  
Antiguo 01/04/2013, 04:37
 
Fecha de Ingreso: febrero-2012
Ubicación: Barcelona
Mensajes: 50
Antigüedad: 5 años, 5 meses
Puntos: 2
Expresiones regulares en notepad++

Hola

Ando intentando hacer lo siguiente, tengo un txt así:

Código:
00000 xxxxxx xxxxxx xxxxxx xxxxxx
00000 xxxxxx xxxxxx xxxxxx xxxxxx
00000 xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx
00000 xxxxxx xxxxxx xxxxxx xxxxxx
00000 xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx
00000 xxxxxx xxxxxx xxxxxx xxxxxx xxxxxx
00000 xxxxxx xxxxxx xxxxxx xxxxxx
00000 xxxxxx xxxxxx xxxxxx xxxxxx
0 = numeros
x = letras

Y quiero conseguir que esos espacios en blanco sean substituidos por un ; para pasarlo a .csv
El problema es que no quiero hacerlo en todos los espacios en blanco sino solo en el primero y en los 2 últimos de cada linea y no todas las lineas tiene el mismo numero de espacios en blanco pero si quiero que en todas tengan ";" en el primero y en los dos últimos.

Había pensado usar notepad++ y hacer un "find and replace" avanzado usando expresiones regulares pero no me queda claro como hacerlo...si se os ocurre como o otra manera de conseguirlo no me importa!

Un saludo y gracias!
  #2 (permalink)  
Antiguo 03/04/2013, 01:29
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.798
Antigüedad: 5 años, 10 meses
Puntos: 296
Respuesta: Expresiones regulares en notepad++

No te hace falta una expresión regular, puedes reemplazar " ", por ";", ya verás si te funciona.
__________________
Freelance Developer — www.rubenmartin.me PHP, SQL, Wordpress, Prestashop, Codeigniter, Laravel
RegaloConsolas — www.regaloconsolas.com Sorteo juegos, consolas y accesorios
  #3 (permalink)  
Antiguo 03/04/2013, 05:14
 
Fecha de Ingreso: febrero-2012
Ubicación: Barcelona
Mensajes: 50
Antigüedad: 5 años, 5 meses
Puntos: 2
Respuesta: Expresiones regulares en notepad++

Cita:
Iniciado por hasdpk Ver Mensaje
No te hace falta una expresión regular, puedes reemplazar " ", por ";", ya verás si te funciona.
El problema es que no quiero hacerlo en todos los espacios en blanco sino solo en el primero y en los 2 últimos de cada linea y no todas las lineas tiene el mismo numero de espacios en blanco pero si quiero que en todas tengan ";" en el primero y en los dos últimos.
  #4 (permalink)  
Antiguo 03/04/2013, 05:34
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.798
Antigüedad: 5 años, 10 meses
Puntos: 296
Respuesta: Expresiones regulares en notepad++

¿Sabes hacer expresiones regulares? Sino, para explicarte.
__________________
Freelance Developer — www.rubenmartin.me PHP, SQL, Wordpress, Prestashop, Codeigniter, Laravel
RegaloConsolas — www.regaloconsolas.com Sorteo juegos, consolas y accesorios
  #5 (permalink)  
Antiguo 03/04/2013, 05:53
 
Fecha de Ingreso: febrero-2012
Ubicación: Barcelona
Mensajes: 50
Antigüedad: 5 años, 5 meses
Puntos: 2
Respuesta: Expresiones regulares en notepad++

No, no lo tengo muy claro...

Aunque al final ya medio lo consegui con php...fui leyendo linea por linea convertiendolas en arrays y quitando las ultimas posiciones jeje
  #6 (permalink)  
Antiguo 03/04/2013, 06:17
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.798
Antigüedad: 5 años, 10 meses
Puntos: 296
Respuesta: Expresiones regulares en notepad++

Cita:
Iniciado por sergio1210 Ver Mensaje
Aunque al final ya medio lo consegui con php...fui leyendo linea por linea convertiendolas en arrays y quitando las ultimas posiciones jeje


Bueno punto a parte y volviendo al tema.

Aquí tienes el significado de los "comodines" de las Expresiones Regulares: http://www.forosdelweb.com/f18/aport...s-pcre-646110/

Y esta es la expresión regular que yo he utilizado: ^(\d+) (.+) (\w+) (\w+)$ y este el de reemplazo: $1; $2; $3; $4.
  • Los carácteres de la expresión regular ^ y $ marcan respectivamente el principio y el final de línea.
  • Los paréntesis ( y ), crear una captura y las devuelve con el orden en las que fueron tomadas, de forma de $1, $2, $3, etc.
  • El punto ., significa cualquier tipo de carácter tanto números y/o letras, incluyendo espacios.
  • Los comodines \d y \w son para capturar cualquier tipo de número y cualquier tipo de letra (SIN incluir los espacios) respectivamente.
  • El más + es para decirle que hay como mínimo uno o más del tipo de carácter/comodín que lo procede. En el caso de \d+ dice que como mínimo hay un número, pero que puede haber muchos más.

Espero que te haya sido de ayuda. Cualquier duda ya sabes, vuelve a preguntar.
__________________
Freelance Developer — www.rubenmartin.me PHP, SQL, Wordpress, Prestashop, Codeigniter, Laravel
RegaloConsolas — www.regaloconsolas.com Sorteo juegos, consolas y accesorios

Etiquetas: expresiones, regulares
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:38.