Buscar CRLF en Notepad++


¿Cómo puedo encontrar/reemplazar todos los caracteres CR/LF en Notepad++?

Estoy buscando algo equivalente al carácter especial ^p en Microsoft Word.

Author: Peter Mortensen, 2008-09-25

15 answers

[\r\n]+ debería funcionar también

Actualización 26 de marzo de 2012, fecha de lanzamiento de Bloc de notas++ 6.0:

OMG, en realidad funciona ahora!!!

Regexp PCRE en Notepad++


Respuesta original 2008 (Notepad++ 4.x) - 2009-2010-2011 (Notepad++ 5.x)

En realidad no, no parece funcionar con regexp...

Pero si tienes Bloc de notas++ 5.x, puedes usar el modo de búsqueda' extendido ' y buscar \r\n. Que encuentra todos sus CRLF.

(Me doy cuenta de que esta es la misma respuesta que las otras, pero de nuevo, 'extended mode' solo está disponible con Notepad++ 4.9, 5.x y más)


Desde abril de 2009, tienes un artículo wiki en el sitio Notepad++ sobre este tema:
"Cómo Reemplazar los Extremos de la línea, cambiando así el diseño de la línea".
(mencionado por georgiecasey en su respuesta a continuación )

Algunos extractos relevantes incluyen la siguiente búsqueda procesos:

Búsqueda simple (Ctrl+F ), Modo de búsqueda = Normal

Puede seleccionar un EOL en la ventana de edición.

  • Simplemente mueva el cursor al final de la línea y escriba Shift+Flecha derecha.
  • o, para seleccionar EOL con el ratón, comience justo al final de la línea y arrastre hasta el comienzo de la siguiente línea; arrastrar a la derecha de la EOL no funcionará. Puede copiar manualmente el EOL y pegar en el campo para archivos Unix (LF-solamente).

Búsqueda simple (Ctrl+F), Modo de búsqueda = Extendido

La opción "Extendido" muestra \n y \r como caracteres que podrían ser coincidentes.
Al igual que con el modo de búsqueda normal, Notepad++ está buscando el carácter exacto.
Buscar \r en un archivo de formato UNIX no encontrará nada, pero buscar \n lo hará. Del mismo modo, un archivo en formato Macintosh contendrá \r pero no \n.

Simple buscar (Ctrl + F), Modo de búsqueda = Expresión regular

Las expresiones regulares usan los caracteres ^ y $ para anclar la cadena de coincidencia al principio o al final de la línea. Por ejemplo, al buscar return;$ encontrará ocurrencias de "return;" que ocurren sin texto posterior en esa misma línea. Los caracteres de anclaje funcionan de forma idéntica en todos los formatos de archivo.
El '.'punto metacaracteres no coincide con finales de línea.

[Probado en Notepad++ 5.8.5]: un la búsqueda de expresiones con un \r o \n explícito no funciona (contrariamente a la documentación de Scintilla).
Tampoco lo hace una búsqueda en un LF explícito (pegado), o en los caracteres EOL (invisibles) colocados en el campo cuando se selecciona un EOL. Búsqueda avanzada (Ctrl+R) sin regexp

Ctrl+M insertará algo que coincida con las nuevas líneas. Serán reemplazados por la cadena reemplazar.
Recomiendo esto método como el más fiable, a menos que realmente necesita utilizar expresiones regulares.
Por ejemplo, para eliminar cada segundo de nueva línea en un archivo a doble espacio, introduzca Ctrl+M dos veces en el cuadro cadena de búsqueda, y una vez en el cuadro reemplazar cadena.

Búsqueda Avanzada (Ctrl+R) con Regexp.

Ni Ctrl+M, $ ni \r\n son coincidentes.


El mismo wiki también menciona el editor hexadecimal alternativa:

  • Escriba la nueva cadena al principio del documento.
  • Luego seleccione para ver el documento en modo hexadecimal.
  • Seleccione una de las nuevas líneas y pulsa Ctrl+H.
  • Mientras tiene el cuadro de diálogo Reemplazar, seleccione en el fondo la nueva cadena de reemplazo y Ctrl+C cópielo para pegarlo en la entrada Reemplazar con texto.
  • Luego Reemplazar o Reemplazar Todo Como quieras.

Nota: el carácter seleccionado para la nueva línea suele aparecer como 0a.
Puede tener un valor diferente si el archivo está en formato Windows. En ese caso, siempre se puede ir a Edit -> EOL Conversion -> Convert to Unix Format, y después de la sustitución cambiar de nuevo y Edit -> EOL Conversion -> Convert to Windows Format.

 381
Author: VonC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:26:32

Parece que esto es un FAQ , y la resolución ofrecida es:

Búsqueda simple (Ctrl + H) sin expresiones regulares

Puede activar Ver / Mostrar Fin de línea o ver / Mostrar todo, y seleccione el ahora caracteres visibles de nueva línea. Entonces cuando se inicia el comando algunos caracteres coincidiendo con el carácter de nueva línea será pegado en el campo de búsqueda. Coincidir será reemplazado por el reemplazar cadena, a diferencia del modo regex.

Nota 1: Si seleccionarlos con el ratón, iniciar justo antes de ellos y arrastrar al comienzo de la siguiente línea. Arrastrar hasta el final de la línea no trabajo.

Nota 2: No se puede copiar y pegar ellos en el campo a ti mismo.

Búsqueda avanzada (Ctrl + R) sin expresión regular

Ctrl+M insertará algo que coincida con las nuevas líneas. Serán reemplazados por la cadena reemplazar.

 21
Author: sundar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-10-08 17:40:18

En el cuadro de diálogo Reemplazar, desea establecer el modo de búsqueda en "Extendido". Los modos de expresión Normal o Regular no funcionarán.

A continuación, simplemente busque "\r\n" (o simplemente \n para archivos unix o simplemente \r para archivos de formato mac), y establezca el reemplazo a lo que desee.

 9
Author: Nathen Silver,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-25 15:31:33

No he tenido mucha suerte con las expresiones regulares \r\n de la ventana buscar/reemplazar.

Sin embargo, esto funciona en Notepad++ v4.1.2:

  1. Utilice el menú "Ver / Mostrar fin de línea" para habilitar la visualización de caracteres de fin de línea. (Los feeds de línea de retorno de carro deben aparecer como un solo 'carácter' CRLF sombreado.)

  2. Seleccione uno de los 'caracteres' de CRLF (coloque el cursor justo delante de uno, mantenga presionada la tecla MAYÚS y luego presione la tecla del CURSOR DERECHO una vez).

  3. Copie el carácter CRLF al portapapeles.

  4. Asegúrese de que no tiene el diálogo buscar o buscar/reemplazar abierto.

  5. Abra el diálogo buscar/reemplazar. El campo' Buscar qué 'muestra el contenido del portapapeles: en este caso el carácter CRLF-que aparece como 2' caracteres de caja ' (presumiblemente es un carácter no imprimible?)

  6. Asegúrese de que la opción' Expresión regular ' esté DESACTIVADA.

Ahora usted debe ser capaz de contar, encontrar o reemplazar según lo desee.

 7
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-25 15:53:27

La forma en que encontré que funciona es usando la función Reemplazar, y usando "\n", con el modo "Extendido". Estoy usando la versión 5.8.5.

 4
Author: Chris,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-12-01 16:43:21

Imagen con CRLF

introduzca la descripción de la imagen aquí


Imagen sin CRLF

introduzca la descripción de la imagen aquí

 4
Author: Arumugaraj Kuthalingam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-28 06:20:43

En 2013, v6.13 o posterior, use:

Del Menú EditarEOL ConversiónFormato de Windows.

 3
Author: Aquarius Power,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-13 16:22:38

Asumiendo que tiene una búsqueda de "expresiones regulares", busque \r\n. Prefiero \r?\n, porque algunos archivos no utilizan retornos de carro.

EDIT: Gracias por los comentarios, quienquiera que haya votado en contra. He aprendido eso... bueno, nada, porque no proporcionaste comentarios. ¿Por qué está mal?

 2
Author: Chris Marasti-Georg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-25 15:39:26

Utilizar la opción de búsqueda avanzada (Ctrl + R) y utilice el método abreviado de teclado para CRLF (Ctrl + M) para insertar un retorno de carro.

 2
Author: Peter Mortensen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-13 16:08:10

Si necesita hacer un reemplazo de expresiones regulares complejo que incluya \r\n, puede solucionar la limitación mediante un enfoque de tres pasos:

  1. Reemplace todo \r\n por una etiqueta, digamos #GO# → Marque 'Extendido', reemplace \r\n por #GO#
  2. Realice su regexp, por ejemplo, eliminando multilínea ICON="*" de un marcador html → Comprobar regexp, reemplazar ICON=.[^"]+.> by >
  3. Vuelva a poner \r \ n → Marque 'Extendido', reemplace #GO# por \r\n
 2
Author: alex,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-13 16:19:16

Abrí el archivo en Notepad++ e hice un reemplazo en unos pocos pasos:

  1. Reemplace todo "\r \n" por "\r \ n"
  2. Reemplace todo"; \r\n" por "\r \ n"
  3. Reemplace todo "\r \ n " por ""

Esto coloca todas las rupturas donde deberían estar y elimina las que están dividiendo el archivo.

Funcionó para mí.

 1
Author: Cognis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-13 16:21:03

Haga esta configuración. Menú - > Ver - > Mostrar Símbolo - > desmarque Mostrar Fin de la línea

 0
Author: Madhava Reddy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-20 13:06:15

Para cambiar un documento de líneas separadas en una sola línea, con cada línea formando una entrada en una lista separada por comas:

  1. ctrl+f para abrir la búsqueda/sustituto.
  2. Haga clic en la pestaña "Reemplazar".
  3. Rellene la entrada "Find what" con "\r\n".
  4. Rellene la entrada "Reemplazar con" con "," o "," (dependiendo de la preferencia).
  5. Desmarque la casilla de verificación" Coincidir palabra completa " (el bit importante que elude lógica).
  6. Marque el botón de opción "Extendido".
  7. Haga clic en el botón "Reemplazar todo".

Estos pasos turno por ejemplo,

Foo bar

Bar baz

Baz foo

En:

Foo bar, bar baz, baz foo

O: (dependiendo de la preferencia)

Foo bar, bar baz, baz foo

 0
Author: Fred Gandt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-04 00:52:29

Tal vez puedas usar complementos TextFX

En TextFX, vaya a textfx edit → eliminar líneas en blanco

 0
Author: harinoir,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-13 16:21:34

Simplemente haga una \r con un buscar y reemplazar con un espacio en blanco en el campo reemplazar para que todo vaya hasta una línea. Luego haga un buscar y reemplazar (en mi caso por punto y coma) y reemplazar con ;\n

:) - T & C

 -1
Author: Trent,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-21 19:26:24