Eliminar líneas vacías en Notepad ++


384

¿Cómo puedo reemplazar líneas vacías en Notepad ++? Intenté buscar y reemplazar con las líneas vacías en el hallazgo, y nada en el reemplazo, pero no funcionó; probablemente necesita regex.

Respuestas:


395

Necesitas algo como una expresión regular.

Tienes que estar en Extendedmodo

Si desea que todas las líneas terminen en una sola línea, use \r\n. Si desea eliminar simplemente las líneas vacías , use \n\rcomo @Link sugirió originalmente.

Reemplace cualquier expresión con nada.


21
Primero debe seleccionar 'extendido' en modo de búsqueda.
q0987

14
Para que sus líneas no se unan, debe buscar \r\n\r\ny reemplazar con \r\n.
Robert Kaucher

1
Vea el comentario de @ BoltClock a continuación. Además, si su archivo se guarda con finales de línea Unix, puede convertirlo a finales de línea de Windows en Edición> Conversión EOL> Formato de Windows antes de buscar y reemplazar.
Big McLargeHuge

99
Si desea eliminar líneas con solo espacios y pestañas o nada, intente usar regex replace para coincidir \r\n\W*\r\ny reemplazar con\r\n
Myster

2
@ ST3 hmm lo que estaba pensando, este es mucho mejor: (\r\n|\r|\n)(\s*(\r\n|\r|\n))+y reemplazar con \r\nverlo en acción aquí: regex101.com/r/qD9dB1/1
Myster

567

Ahora hay una forma integrada de hacer esto a partir de la versión 6.5.2

Edit -> Line Operations -> Remove Empty Lines o Remove Empty Lines (Containing Blank characters)

Captura de pantalla de eliminar líneas vacías


Desafortunadamente, esto no considera su selección, eliminará todas las líneas vacías en el archivo, incluso si ha seleccionado solo algunas de ellas.
Fabio dice reinstalar a Mónica el

Si se trata de una operación única, puede extraer las líneas seleccionadas a la nueva pestaña del bloc de notas ++ y realizar esa operación allí. Procedimiento de copiar y pegar durante 5 segundos. Cualquier otra solución que no se pueda lograr en ese momento es un desperdicio en mi opinión. Pero si lo haces todos los días 100 veces ...
credo

Yo estaba usando esto (incluso asignado mi acceso directo), pero es mucho más lento que la opción anterior, a fin de utilizar inteligentemente ...
Betlista

122

Hay un complemento que agrega un menú titulado TextFX. Este menú, que alberga una vertiginosa variedad de opciones rápidas de edición de texto, le da a la persona la capacidad de realizar cambios rápidos de codificación. En este menú, puede encontrar selecciones como Quitar comillas, Eliminar líneas en blanco, así como Desenvolver y reenviar texto

Haz lo siguiente:

TextFX > TextFX Edit > Delete Blank Lines
TextFX > TextFX Edit > Delete Surplus Blank Lines

77
No estoy seguro de cuándo, pero parece que este complemento está instalado de forma predeterminada ahora. Ligeramente fuera de tema, pero una de las otras características increíblemente útiles, debajo TextFX > TextFX Tools, es la clasificación de líneas, opcionalmente eliminando duplicados. Manera muy práctica de hacer un Unix sort -uen una caja de Windows sin cygwin o unxutils o similar.
Cam Jackson

3
Aquí hay un enlace al complemento TextFx. Lo encontré muy útil. Use: Settings > Import > plugin...y busque el archivo dll para instalarlo. Se convierte en un elemento de menú porPlugins
Nicholas Pickering

1
¿funcionará esto en todos los documentos abiertos, o un documento a la vez?
Abandonado

76
  1. Bloc de notas ++
  2. Ctrl-H
  3. Seleccionar expresión regular
  4. Ingrese ^[ \t]*$\r?\nen buscar qué, deje reemplazar vacío. Esto coincidirá con todas las líneas que comienzan con un espacio en blanco y terminan con el retorno de carro (en este caso, un Windows CRF)
  5. Haga clic en el botón Buscar siguiente para ver por sí mismo cómo coincide solo con las líneas vacías.

1
Tuve que usar este método en lugar de algunos de los otros métodos para que funcione fácilmente en una macro. Gracias.
Mafu Josh

55
se necesitan reemplazos aún más cortos y también menores debido a que varias líneas vacías se reemplazarán a la vez: ^ \ s * $ \ r? \ n
njank

31
  1. Presione ctrl + h (Acceso directo para reemplazar).
  2. En Buscar qué zona, escriba ^\R(para líneas vacías exactas) o ^\h*\R(solo para líneas vacías con espacios en blanco).
  3. Deje la zona Reemplazar con vacía .
  4. Marque la opción Ajustar .
  5. Seleccione el modo de búsqueda de expresión regular .
  6. Haga clic en el botón Reemplazar todo .

ingrese la descripción de la imagen aquí


1
Esto funcionó para mí sin ningún problema o configuración adicional para cambiar. ¡Gracias!
Bonez024

19

Puede seguir la técnica como se muestra en la siguiente captura de pantalla:

  • Encontrar que: ^\r\n
  • Reemplazar con: keep this empty
  • Modo de búsqueda: Regular expression
  • Ajustar: seleccionado

ingrese la descripción de la imagen aquí

NOTA: para archivos * nix solo busque por\n


17

Esto funcionó para mí:

  1. Presione ctrl + h(Atajo para reemplazar)
  2. Escribe una de las siguientes expresiones regulares en el find whatcuadro. [\n\r]+$o^[\n\r]+
  3. Deje el Replace withcuadro en blanco
  4. En Search Mode, seleccioneRegex
  5. Haga clic en Replace All

    Listo!

Esta es la única solución que no arruinó mis enormes archivos .csv. ¡Gracias!
veuncent

1
más uno porque finalmente conozco el atajo para reemplazar :-D
Betlista

14

En Notepad ++, presione CTRL + H, en el modo de búsqueda, haga clic en el botón de opción "Extendido (\ n, \ r, \ t ...)" y luego escriba en el cuadro "Buscar qué": \ r \ n (abreviatura de CR LF ) y deje el cuadro "Reemplazar con" vacío.

Finalmente presiona reemplazar todo


En realidad, lo intenté, veo mi aclaración en mi respuesta. Estabas en algo!
Brad

3
Sin embargo, esto supone que las terminaciones de línea son Windows (CRLF), si su archivo se guarda con terminaciones de línea de Unix, solo busque \n.
BoltClock

@Brad: Escribí entre () "short for CR LF", no quería que codetrek pensara que \ n es CR, de ahí la edición.
Bassem

Respuesta incorrecta, pone todas las líneas en una línea.
m0skit0

12

Bueno, no estoy seguro acerca de la expresión regular o su situación ...

¿Qué tal CTRL + A? Seleccione el menú TextFX -> Editar TextFX -> Eliminar líneas en blanco y viola toda la línea en blanco desaparecida.

Una nota al margen: si la línea está en blanco, es decir, no contiene espacios, esto funcionará


12

Puede buscar la siguiente expresión regular: ^(?:[\t ]*(?:\r?\n|\r))+y reemplazarla con un campo vacío


11

Ctrl + H.

buscar - \ r \ r reemplazar con - \ r.


Esto funciona para mí, eliminando la línea extra, en el sentido de encontrar doble \ r reemplazar con simple \ r. ¡¡Gracias!!
genpet

Esto funcionó bien, sin embargo, descubrí que necesitaba ejecutarlo varias veces en mi documento antes de que todas las instancias de \ r \ r desaparecieran. No estoy seguro de por qué.
Hawkwing el

7

Obviamente, esto no funciona si las líneas en blanco contienen pestañas o espacios en blanco. Muchas páginas web (por ejemplo, http://www.guardian.co.uk/ ) contienen estas líneas blancas, como resultado de un editor HTML defectuoso.

Elimine el espacio en blanco utilizando la expresión regular de la siguiente manera:

cambiar patrón: [\ t] + $ en nada.

donde [\ t] coincide con la pestaña o el espacio. '+' coincide con una o más ocurrencias y '$' marca el final de la línea.

Luego use notepad ++ / textFX para eliminar líneas vacías simples o extra. Asegúrese de que estas líneas en blanco no sean significativas en el contexto dado.


5

ingrese la descripción de la imagen aquí

A veces, \ n \ r, etc., no funciona, aquí para averiguarlo, cuál debería ser su expresión regular.

Ventaja de este truco: si desea reemplazar varios archivos a la vez, debe necesitar este método. Lo anterior no funcionará ...


5

1) Ctrl + H(O Search 🠆 Replace..) para abrir la ventana Reemplazar.

2) Seleccione 'Search Mode' 'Expresión regular'

3) En "Buscar ¿Qué tipo ^(\s*)(.*)(\s*)$y en 'Reemplazar' Tipo\2

  • ^ - Coincide con el inicio del carácter de línea
  • (\s*) - Coincide con caracteres de espacio vacío
  • (.*) - coincide con cualquier personaje
  • (\s*) - Coincide con caracteres de espacios vacíos
  • $ - Coincide con el carácter final de línea
  • \2 - Denota la competencia correspondiente del segundo soporte

ingrese la descripción de la imagen aquí Consulte https://www.rexegg.com/regex-quickstart.html para obtener más información sobre expresiones regulares.


4
  1. Editar >> Operaciones en blanco >> Recortar espacios iniciales y finales (para eliminar pestañas negras y espacios en líneas vacías)
  2. Ctrl+ Hpara reemplazar la ventana y reemplazar el patrón: ^\r\nsin nada (seleccione expresión regular)

Nota: el paso 1 eliminará la intención de su código realizado a través de pestañas y espacios en blanco


4

CTRL + A, seleccione el menú TextFX -> Editar TextFX -> Eliminar líneas en blanco como se sugiere anteriormente funciona.

Pero si las líneas contienen algo de espacio, mueva el cursor a esa línea y haga CTRL + H. El "Buscar qué:" seg mostrará el espacio en blanco y en la sección "Reemplazar con", déjelo en blanco. Ahora se eliminan todos los espacios y ahora intenta CTRL + A, selecciona el menú TextFX -> Editar TextFX -> Eliminar líneas en blanco


4

/n/rasume un tipo específico de salto de línea. Para apuntar a cualquier línea en blanco, también puede usar:

^$

Esto dice: cualquier línea que comienza y luego termina sin nada en medio. Esto es más que una trampa. Reemplace con la misma cadena vacía.


3

No vi el combinado como respuesta, así que busque ^ \ s + $ y reemplácelo por {nothing}

^\s+$ means
  ^ start of line
  \s+ Matches minimum one whitespace character (spaces, tabs, line breaks)
  $ until end of line

si quieres múltiples líneas puedes probar: ^\s+^(\S)y reemplazar con \1.
jiggunjer


1

Una alternativa fácil para eliminar espacios en blanco de líneas vacías:

  1. TextFX> Edición de TextFX> Recortar espacios finales

Esto eliminará todos los espacios finales, incluidos los espacios finales en líneas en blanco. Asegúrese de que no haya espacios finales significativos.


0

Algunas de las expresiones anteriores y expresiones extendidas no funcionaron para mí, pero la expresión regular "$ \ n $" sí.


0

este trabajo para mi:

SEARCH:^\r  
REPLACE:            (empty)

1
Esto no funcionará para eol Linux \ny Windows EOL\r\n
Toto
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.