es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Sustituya un número indeterminado de puntos y comas, pero no solo uno.

Tengo un archivo CSV malformado con muchas líneas similares a:

a;b;c;d;e;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;^M

Estoy luchando para encontrar la expresión regular adecuada para usar en mi editor Vi para eliminar los múltiples punto y coma contiguos (hay muchos más en cada fila) y el DOS ^M y obtener solo los datos limpios como

a;b;c;d;e;
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para eliminar los múltiples punto y coma contiguos y los DOS ^M de un archivo CSV usando el editor Vi, se puede usar la siguiente expresión regular:

    :%s/;*^M//g
    

    En donde:

    • %s es el comando de sustitución que reemplazará el patrón coincidente con la cadena de reemplazo
    • ;* coincide con cualquier número de punto y coma (incluyendo ningún punto y coma)
    • ^M representa el carácter de retorno de carro DOS
    • // es la cadena de reemplazo que es una cadena vacía, eliminando efectivamente el patrón coincidente
    • Se utiliza la bandera g para realizar la sustitución globalmente (para todas las ocurrencias en el archivo)

    Para usar este comando, abra el archivo CSV en el editor de Vi y luego ingrese al modo de comando presionando la tecla de dos puntos (:). Luego, escriba el comando y presione Enter. El editor Vi eliminará todos los múltiples punto y coma contiguos y los retornos de carro DOS del archivo.

Comments are closed.