Pregunta Notepad ++ encuentra y reemplaza cadena con una nueva línea


Considere el escenario en el que tiene una cadena específica que desea buscar y reemplazar. Desea reemplazarlo con una nueva cadena que contenga 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 reemplaza el espacio con un retorno de carro / línea nueva.

Los resultados se verían así:

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

etc ...

Pregunta: ¿Cómo lo lograrías más fácilmente usando Notepad ++? ¿Hay alguna otra herramienta que sugiera para realizar fácilmente este comando?


194


origen




Respuestas:


Notepad ++ funcionará bien.

Cadena de búsqueda:

 xyz
 Tenga en cuenta el espacio delante de xyz.

Reemplazar cadena:

\ r \ nxyz

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


Algunos antecedentes: "\ r \ n" es el código de escape para retorno de carro, el estándar para nuevas líneas en Windows. Los sistemas 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 nuevas líneas, pero las herramientas centrales de Windows no lo entienden \ n como equivalente a \ r \ n, por lo que este último suele ser el más adecuado si el archivo está destinado a ser utilizado en entornos Windows.


261



\ r \ n = sintaxis de nueva linea de Windows. Sin embargo, para todo lo que no sea el bloc de notas normal, aceptará solo \ n para una nueva línea (que también es más convencional). - Macha
Su frase "más convencional" es engañosa. "\ r \ n" es el estándar en Windows. Es solo que muchos editores e IDE reconocen que la línea estándar de Unix / Linux termina "\ n" y muestra el documento en consecuencia. No hay nada sobre "\ 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 "Devolver el carro / cursor al comienzo de la línea" y "\ n" significa "Avanzar el carro / cursor hacia adelante una línea". Por supuesto, Unix vino 20 años antes, así que supongo que en ese sentido es Microsoft quien rompió el estándar. - Brian Lacy
esto no funcionará a menos que establezca el modo de búsqueda, como se especifica en la otra respuesta: superuser.com/questions/34451/... - codeulike
Si está tratando de reemplazar la cadena literal "\ r \ n" con una nueva línea real, tenía que hacer lo siguiente: establecer el modo de búsqueda en normal, buscar / reemplazar \ r \ n con ***. A continuación, establezca el modo de búsqueda en Extendido, busque / reemplace *** con \ r \ n. - goku_da_master


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

  • Encontrar: xyz
  • Reemplace con: \ n


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

El truco es establecer el modo de búsqueda.


59



Esta respuesta funcionó para mí, la aceptada no. Ver 5.8.6 - bdwakefield
Sí, lo mismo aquí, la respuesta aceptada no especificó utilizando el modo extendido. - Andy
El modo de búsqueda es clave, gracias por publicarlo. - Jrod
Por qué no \r\n (en lugar de \n)? - Peter Mortensen


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


5



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


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

Por lo tanto, en su ejemplo, comience desde el principio de una línea, haga clic, arrastre hasta el final de la línea anterior, cópiela y péguela en el cuadro de diálogo Reemplazar.


4





Para Notepad ++, cambie el modo de búsqueda a Extendido entonces en el Reemplazar con uso de campo \norte.


2



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