¿Reemplazar nuevas líneas con un delimitador de coma con Notepad ++?


165

Tengo una pregunta de Notepad ++.

¿Cómo puedo tomar las siguientes palabras en Notepad ++ (que está en diferentes líneas)

Apples
Apricots
Pear
Avocados
Bananas

¿Y convertirlos en un párrafo con una coma al final de cada uno? Me gusta esto:

Apples, Apricots, Pear, Avocados, Bananas

Respuestas:


325

Abra el cuadro de diálogo Buscar y reemplazar (presione CTRL+ H).

Luego seleccione Regular expressionen la sección 'Modo de búsqueda' en la parte inferior.

En el Find whatcampo ingrese esto:[\r\n]+

En el Replace with:

Hay un espacio después de la coma.

Esto también reemplazará líneas como

Apples

Apricots
Pear

Avocados
Bananas

Donde hay líneas vacías.

Si sus líneas tienen espacios en blanco al final, debe eliminarlas primero. La forma más sencilla de lograr esto es

EDIT -> Blank Operations -> Trim Trailing Space

O

TextFX -> TextFX Edit -> Trim trailing spaces

Asegúrese de establecer el Modo de búsqueda en "Expresión regular".


Si hay espacios finales en la línea, es posible que lo haga _*[\r\n]+. Para lidiar con las líneas en blanco convertidas en comas en exceso, puede hacer una búsqueda de expresiones regulares para ,_[,_]+reemplazarlas ,_. Alternativamente, el paquete TextFx tiene un comando para eliminar líneas en blanco que se puede usar antes de agregar las comas. (Tenga en cuenta que el cambio pone de relieve los espacios en estos bloques de código).
AdrianHHH

Sí, tienes mucha razón. Solo estaba tratando de dar una respuesta minimalista. Tal vez debería editar la respuesta entonces.

2
Esto no funciona para mí: veo "0 casos fueron reemplazados".
Iain Samuel McLean Élder

3
@IainElder, el modo de búsqueda debe establecerse en "Expresión regular" en lugar de "Normal" o "Extendido".
Scott Lawrence

Tuve el mismo resultado que Iain.
dhochee

34

Esto es lo que funcionó para mí con una lista similar de cadenas en Notepad ++ sin macros ni nada más:

  1. Haga clic en Editar -> Operaciones en blanco -> EOL para espaciar [Todos los elementos ahora deben estar en una sola línea separada por un 'espacio']

  2. Seleccione cualquier 'espacio' y haga un Reemplazar todo (por ',')


Simple y elegante, agradable
reggaeguitar

@trishul Realmente agradable.
himanshupareek66

32

La respuesta de fapDaddy usando una macro me señaló en la dirección correcta.

Esto es precisamente lo que funcionó para mí.

  1. Coloque el cursor después del primer elemento de datos. ingrese la descripción de la imagen aquí

  2. Haga clic en 'Macro> Iniciar grabación' en el menú. ingrese la descripción de la imagen aquí

  3. Escribir esta secuencia: Comma, Space, Delete, End.ingrese la descripción de la imagen aquí

  4. Haga clic en 'Macro> Detener grabación' en el menú. ingrese la descripción de la imagen aquí

  5. Haga clic en 'Macro> Ejecutar una macro varias veces ...' en el menú. ingrese la descripción de la imagen aquí

  6. Haga clic en "Ejecutar hasta el final del archivo" y haga clic en "Ejecutar". ingrese la descripción de la imagen aquí

  7. Elimina los caracteres finales. ingrese la descripción de la imagen aquí

  8. ¡Hecho!

ingrese la descripción de la imagen aquí


55
Este método es lento para miles de elementos de datos.
Iain Samuel McLean Élder

Gran respuesta. Gracias :)
Peter T.

Esa gran información será útil en muchas situaciones similares. ¡Gracias!
Moin

Gracias por compartir la información. Es interesante.
ironman

4

Para Notepad ++ 5.9

  1. Presione Ctrl + H
  2. Seleccione Modo de búsqueda extendido (\ n, \ r, \ t, \ o, \ x ...)
  3. Ingrese Buscar qué: \ r \ n
  4. Introduzca Reemplazar con: ,
  5. Reemplazar_todos debería obtener el resultado requerido.

3
Esta respuesta repite la respuesta aceptada y esta respuesta se refiere a una versión antigua de Notepad ++, la versión 7.4.x ya está disponible. Bienvenido a Stack Overflow, pero haga que sus respuestas proporcionen nueva información o den nuevas ideas. Repetir las respuestas existentes no es útil.
AdrianHHH

Para las versiones más nuevas de npp, esta es la mejor manera de hacerlo.
nurdyguy

Esta es la respuesta más fácil. No debería tener que pasar al modo de expresión regular solo para reemplazar las nuevas líneas con comas. N ++ realmente funciona correctamente, mientras que otros editores interpretan "\ n" como un retorno de carro Y un avance de línea, lo que me confundió al principio.
BrianVPS

3

Coloque el cursor después de Manzanas , en la pestaña Macro , seleccione Iniciar grabación . Escriba el carácter de coma ( , ), el espacio () y presione la tecla Fin , en la pestaña Macro, seleccione Detener grabación .

Ctrl + Shift + P para reproducción única.


Gracias por ese consejo. ¿Qué pasa si tengo 5000 ++ palabras? ¿Necesito ejecutar la macro para todos ellos individualmente? ¿Hay un método más fácil?
user2231530

Si tendrá que realizar una tarea similar en el futuro, es posible que desee escribir un script para ello. La salida fácil es probablemente simplemente ir a la pestaña Macro y seleccionar ejecutar la macro varias veces. Se hará en segundos.
viclim

+1 Tu respuesta me señaló en la dirección correcta. En mi respuesta documenté exactamente lo que funcionó para mí.
Iain Samuel McLean Élder

2

Esto puede sonar extraño, pero puede eliminar la siguiente línea copiando todo el texto y pegándolo en la barra de búsqueda de Firefox, y luego volviéndolo a pegar en el bloc de notas ++

paso 1

paso 2


1
Por favor, mejora esta respuesta. Los enlaces a las imágenes no serán útiles.
Dibujó el

2

USE la barra de búsqueda de Chrome

1-presione CTRL F
2-pegue el texto copiado en la barra de búsqueda
3-presione CTRL Aseguido de CTRL Cpara copiar el texto nuevamente desde la búsqueda
4-pegue en Notepad ++
5-reemplace 'space'con','

1 clic para la imagen
2-click para imagen


0

Puede usar la línea cc.rnl ', 'de comando de ConyEdit (un complemento) para reemplazar nuevas líneas con el contenido que desee.


0

Un partido de expresiones regulares con \s+funcionó para mí:

ingrese la descripción de la imagen aquí


Por cierto: me parece que una coincidencia de expresiones regulares $^debería funcionar, pero, en cambio, coincide ^$.
user3673

Usar la opción "Extendida" justo arriba de la opción "Expresión regular" (en su captura de pantalla) es en realidad la forma más fácil de lograr esto.
nurdyguy
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.