Tengo un archivo que tiene la forma general comocadena Delete en VIM
number,number,string
y quiero eliminar tanto los números de cada línea y extraer sólo la cadena. ¿Cuál sería la expresión regular?
Tengo un archivo que tiene la forma general comocadena Delete en VIM
number,number,string
y quiero eliminar tanto los números de cada línea y extraer sólo la cadena. ¿Cuál sería la expresión regular?
Se puede utilizar:
:s/^[0-9]*,[0-9]*,//
Para todo el archivo, eso es:
:%s/^[0-9]*,[0-9]*,//
Una buena expresión regular puede ser:
/^\(\s*[+-]*[[:digit:]]*\.*[[:digit:]]\+,\s*\)\{2}/
Esto corresponderá con números, incluyendo una signo opcional y un punto decimal opcional (suponiendo que usa .
en su localidad) seguido de una coma y espacios en blanco opcionales dos veces al comienzo de la línea.
de uso:
:%s/^\(\s*[+-]*[[:digit:]]*\.*[[:digit:]]\+,\s*\)\{2}//
Añadir dígitos hexadecimales ([[:xdigit:]]
) al gusto.
gracias .. !! sigo olvidando que '^' ... gracias amigo ... :) –
@Prasanth Madhavan Acepta la respuesta si te ayuda a expresar tu agradecimiento :) –
Me gustaría agregar que puedes usar '\ d' en lugar de '[0-9]' si lo prefiere. Hay bastantes atajos como este que pueden hacer que las expresiones regulares sean más fáciles de leer, especialmente en el mundo regex loco de vim. Puede obtener una lista completa de aquellos que vim admite justo debajo de ': help/\ i'. –