2011-07-08 29 views
7

Quiero eliminar todas las líneas en blanco de mi código mediante el método de búsqueda/sustitución en el editor de código de eclipse.Eliminar líneas vacías en el editor de código de eclipse mediante find/replace (Ctrl + F)

Utilicé la expresión regular \n\s*\n para encontrar todas las líneas en blanco, pero obtuve el error "Incompatible line delimiter near index 55110" al reemplazar la línea en blanco con cualquier cadena.

¿Por qué tengo este error y cómo eliminar correctamente las líneas en blanco? ¿Cuál será el personaje de reemplazo que funciona?

¿Hay algún complemento de eclipse para este tipo de trabajo?

Respuesta

9

Usted puede intentar sustituir esto:

^\s*\r?\n 

con la cadena vacía.

+1

Recibo el mismo error al usar –

+0

@Dean_Wilson, ¿cuál es su sistema operativo? – Pacerier

2

Probé tu expresión y combinó algunas líneas. Encontré este para funcionar:

\n\s*$ 

con un reemplazo de [nada].

No obstante, no puedo evitar el misterioso error. Me pregunto si tiene un archivo corrupto, tal vez una confusión CR/LF perdida.

(En cuanto a un plugin ... no sé de ninguno, pero, bueno, aprender awk, sed, Perl ... que siempre te sirven bien para sus trabajos de texto-mangling diversos.)

+0

tengo el mismo error otra vez. – gtiwari333

+0

Parece que algo está dañado, ya sea tu instalación de eclipse o de alguna manera tu archivo. ¿Su regex (o la mía) funciona en un archivo simple que se crea, para probar? ¡Oh sí, debería mencionar, las pruebas son buenas! –

0

Esto trabajó para mí durante años:

Reemplazar: [\ t] + $

Con blanco

+0

Tenga cuidado al publicar copiar y pegar las respuestas al pie de página o verbatim a múltiples preguntas, que la comunidad suele señalar como "spam". Si está haciendo esto, generalmente significa que las preguntas son duplicadas, así que márquelas como tales en su lugar: http://stackoverflow.com/questions/1974491 – Kev

2

En respuesta a la primera parte de su pregunta acerca del error incompatible line delimiter near index, Eclipse parece tiene un problema con Reemplazar el delimitador de línea dado según las configuraciones Text file encoding y New text file line delimiter.

Tuve un problema por el que una aplicación de Windows formateaba incorrectamente los archivos de origen con formato UNIX, insertando CRLF donde lo consideraba conveniente. Debido a la situación particular, tuve que reemplazar todos los CRLF con espacio. Eclipse no me permitiría hacer esto debido a que el error, pero agarrando los caracteres anterior y posterior hizo el truco:

Find : (.)\r\n(.) 
Replace: $1 $2 

Usando wjans respuesta sugerida:

Find : ^\s*\r?\n(.) 
Replace: $1 

Espero que esto ayude con las de usted sigue recibiendo el error incompatible line delimiter.

10

No estoy seguro de si es la respuesta a su problema específico, pero la solución con el \ r \ ... indica que es una incompatibilidad entre la codificación de texto de Windows y UNIX.Por lo que una solución simple será convertir el archivo en UNIX codificación

En Eclipse Menu -> File -> Convert line delimiter -> Unix

+1

Esto funcionó inmediatamente para mí. No es necesario buscar/reemplazar, solo ejecuta el comando (lo usé para convertirlo a Windows). ¡Gracias por la mejor respuesta! – Beez

1

trate de usar \R en lugar de \n

\ R Cualquier secuencia de salto de línea Unicode \ u000d \ u000A | [\ u000A \ u000B \ u000C \ u000d \ u0085 \ u2028 \ u2029]

0

he estado teniendo este problema (o variaciones de la misma) para años y sospecho que es causado por el intercambio de servidores de archivos con Mac u sers, específicamente usuarios de Dreamweaver (artistas gráficos básicamente). Parece que cambia los archivos que edita (¿cargas?) A terminaciones de líneas mixtas/extrañas que parecen ser una combinación de NL + CR (hex 0a0d), doble CR (0d0d) y nuevas líneas solidarias (0a).

Si abrió el mismo archivo en vim, no tiene espacio doble, PERO todas las líneas terminan con un símbolo^M.

De todos modos, ninguna de las soluciones en esta página funcionó para mí pero encontré algo que sí funciona.

que debe realizar estos pasos en orden (Eclipse 4.2.2)

1.) Archivo -> Convertir delimitadores Línea A -> MacOS 9 (CR, \ r)

2.) Modificar -> Buscar/Reemplazar (Ctrl - F)

Find: \r$ 
Replace: leave blank 

3.) Reemplazar todo

Si no lo hace con el fin o meterse con el primer archivo que obtendrá un error sobre " delimitadores de línea incompatibles "como en el pregunta.

Cuestiones relacionadas