Notepad ++ buscar y reemplazar cadenas con una nueva línea


212

Considere el escenario en el que tiene una cadena específica que desea buscar y reemplazar. Desea reemplazarlo con una nueva cadena que contiene un carácter de nueva línea (o secuencia de caracteres).

abc123 xyz456-blah
fsafd23 xyz456-green
89hjkf23 xyz456-red
afdsa23 xyz456-yellow
abaac123 xyz456-orange

En el escenario anterior, me gustaría encontrar " xyz" y reemplazar el espacio con un retorno de carro / nueva línea.

Los resultados se verían así:

abc123
xyz456-blah
fsafd23
xyz456-green
89hjkf23
xyz456-red
   ︙

etc ...

Pregunta: ¿Cómo lograría esto más fácilmente con Notepad ++? ¿Hay alguna otra herramienta que sugiera para ejecutar fácilmente este comando?

Respuestas:


279

Notepad ++ funcionará bien.

Cadena de búsqueda:

 xyz
Tenga en cuenta el espacio en frente de xyz.

Reemplazar cadena:

\ r \ nxyz

También deberá establecer el "Modo de búsqueda" en "Extendido" (cuadro de grupo inferior izquierdo en el cuadro de diálogo Reemplazar ) para que Notepad ++ respete los códigos de escape.


Algunos antecedentes: "\ r \ n" es el código de escape para el retorno de carro, el estándar para nuevas líneas en Windows. Los sistemas de estilo Unix usan simplemente \ n (nueva línea). La mayoría de los IDE, incluido Notepad ++, comprenderán ambos estilos y los representarán con líneas nuevas, pero las utilidades principales de Windows no entienden que \ n es equivalente a \ r \ n, por lo que este último suele ser el más apropiado si el archivo está destinado a ser utilizado en entornos de Windows.


2
\ r \ n = Sintaxis de nueva línea de Windows. Sin embargo, para todo lo que no sea un bloc de notas antiguo, aceptará solo \ n para una nueva línea (que también es más convencional).
— Macha

3
Su frase "más convencional" es engañosa. "\ r \ n" es el estándar en Windows. Es solo que muchos editores e IDEs reconocen la línea estándar de Unix / Linux que termina "\ n" y muestran el documento en consecuencia. No hay nada acerca de "\ n" que lo haga más convencional.
— Brian Lacy

Para ser sincero, la versión Win / DOS tiene más sentido para mí. "\ r" significa "Retorno de carro, o 'Retorna el carro / cursor al comienzo de la línea'" y "\ n" significa "Avanzar el carro / cursor una línea hacia adelante". Por supuesto, Unix llegó 20 años antes, así que supongo que en ese sentido es Microsoft quien rompió el estándar.
— Brian Lacy

77
esto no funcionará a menos que establezca el modo de búsqueda, como se especifica en la otra respuesta: superuser.com/questions/34451/...
— codeulike

77
Si está tratando de reemplazar la cadena literal "\ r \ n" con una nueva línea real, tuve que hacer lo siguiente: establecer el modo de búsqueda en normal, buscar / reemplazar \ r \ n con ***. Luego establezca el modo de búsqueda en Extendido, busque / reemplace *** con \ r \ n.
— goku_da_master

61

En Notepad ++, es muy fácil ...

  • Buscar: xyz
  • Reemplazar con: \ n


  • Modo de búsqueda: extendido (\ n, \ t, etc.)

El truco es establecer el modo de búsqueda.


1
Esta respuesta funcionó para mí, la aceptada no. Ver 5.8.6
— bdwakefield

Sí mismo aquí, la respuesta aceptada no especificó el uso del modo extendido ..
— Andy

¿Por qué no \r\n(en lugar de \n)?
— Peter Mortensen

5

Hago un poco de trampa cuando los caracteres S & Ring que no puedo escribir directamente en los campos de texto (por ejemplo, pestañas y líneas nuevas). Busque en algún lugar del documento que ya tenga ese carácter, luego cópielo y péguelo en el campo de reemplazo.

Entonces, en su ejemplo, comience desde el comienzo de una línea, haga clic, arrastre hasta el final de la línea anterior, cópielo y péguelo en el cuadro de diálogo Reemplazar.


5

En el cuadro de diálogo "Reemplazar", asegúrese de que en Modo de búsqueda haya seleccionado "Extendido". Luego escriba en el cuadro de búsqueda, ingrese "xyz" y reemplácelo con "\ n".


1
¿Por qué no \r\n(en lugar de \n)?
— Peter Mortensen

2

Para Notepad ++, cambie el modo de búsqueda a Extendido y luego en el campo Reemplazar con use \ n .


1
¿Por qué no \r\n(en lugar de \n)?
— Peter Mortensen
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.