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.

nomoreflash
fuente

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.

Puntilla
fuente
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

Halfwarr
fuente
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
Kolufild
fuente
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.
SleepyBoBos
fuente
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í

Alex.K.
fuente
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

Saikat
fuente
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!
Kamal Nayan
fuente
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

Bassem
fuente
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á

Ahmad
fuente
12

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

Ya basha
fuente
11

Ctrl + H.

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

mahesh adepu
fuente
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.

Poisson
fuente
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á ...

Wasim A.
fuente
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.

Praboda
fuente
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

Adeeb
fuente
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


fuente
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.

AshBrad
fuente
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
usuario2056154
fuente
si quieres múltiples líneas puedes probar: ^\s+^(\S)y reemplazar con \1.
jiggunjer
2

Es muy simple

Ctrl + H

Buscar: \ r \ n \ r \ n

Replique con: \ r \ n

Ver complemento

Pragnesh Bhalodiya
fuente
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.

Poisson
fuente
0

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

Chris
fuente
0

este trabajo para mi:

SEARCH:^\r  
REPLACE:            (empty)
Rafael Marques
fuente
1
Esto no funcionará para eol Linux \ny Windows EOL\r\n
Toto