2008-11-12 13 views
69

Tengo una lista bastante grande de palabras en un archivo txt y estoy tratando de hacer una búsqueda regular y reemplazarla en Notepad ++. Tengo que añadir una cadena antes de cada línea y después de cada línea .. Así que:Uso de RegEX para prefijar y anexar en Notepad ++

 
wordone 
wordtwo 
wordthree 

convierto

 
able:"wordone" 
able:"wordtwo" 
able:"wordthree" 

¿Cómo puedo hacer esto?

+0

Lo sentimos esas cadenas de palabras están destinadas a estar en líneas separadas! Apuesto a que ahora ha confundido las cosas ... – zuk1

+0

dulce, ahórreme un montón de Google :) – melaos

Respuesta

142

Suponiendo palabras alfanuméricos, puede utilizar:

Search = ^([A-Za-z0-9]+)$ 
Replace = able:"\1" 

O, si lo que desea es poner de relieve las líneas y el uso de "Reemplazar todo" & "en la selección" (con la misma sustituir):

Search = ^(.+)$ 

^ puntos al principio de la línea.
$ puntos al final de la línea.

\1 será la fuente coincida entre paréntesis.

+0

gracias, después de unos 30 minutos de búsqueda llegué aquí para el éxito :) – dhaval

+0

gracias! esto ayudó mucho :-) –

+0

Las expresiones Reg son salvavidas.Gracias por la ayuda. – MattK311

5

Utilice una macro.

Macro> Iniciar grabación

Usar el teclado para realizar los cambios de una manera repetible por ejemplo,

inicio> Tipo de "poder"> fin> flecha hacia abajo> casa

luego volver al menú y haga clic en detener la grabación y luego ejecutar una macro varias veces.

¡Eso debería hacerlo y no hay complicaciones basadas en expresiones regulares!

+3

¿Qué se entiende por "complicaciones"? :-) – Tomalak

+0

+1 por facilidad de uso! Necesitaba anexar una 'pestaña' al final de cada línea en un archivo y este consejo fue el truco. – NateJ

26

¿Por qué no utiliza las capacidades de edición multilínea de Notepad ++?

Mantenga presionada la tecla Alt mientras selecciona texto (utilizando el enfoque habitual de hacer clic y arrastrar) para seleccionar texto en varias líneas. Esto a veces también se conoce como edición de columna.

Puede colocar el cursor al comienzo del archivo, presionar (y mantener) Alt, Shift y luego seguir presionando la flecha hacia abajo o PageDown para seleccionar las líneas que desea anteponer con texto :-) Fácil. La edición de varias líneas es una característica muy útil de Notepad ++. También es posible en Visual Studio, de la misma manera, y también en Eclipse al cambiar al modo de selección de bloque presionando Alt + Shift + A y luego usar el mouse para seleccionar texto entre líneas.

+2

Solo lo usé y funcionó a la perfección. – Valien

+1

+1 Esto es realmente genial, no tenía idea de que pudieras hacer esto. ¿Es posible agregar algo al final de cada línea, cuando la longitud de cada línea es diferente? Por ejemplo, cuando el ancho de la "columna" varía, sería estupendo si pudiera agregar texto a cada línea. Tengo una lista de funciones y necesito agregar "();" para cada línea pero cada nombre de función tiene un ancho diferente. Actualmente estoy usando una macro para hacer esto, ¡gracias! –

+5

para agregar es probablemente mejor usar simplemente buscar/reemplazar usando el modo de búsqueda "Extendida". Puede buscar el final de línea, p. '\ r \ n' y reemplace eso con' \ r \ n' –

5

de expresiones regulares que se pueden utilizar:

Find: \w.+ 
Replace: able:"$&" 

Como, $& le dará la cadena que busca.

Consulte: regexr

+1

¡Gran mención de '$ &'! El '\ 1' no funciona en todos los entornos. – pfabri

Cuestiones relacionadas