2012-08-03 14 views
9

¿Hay alguna forma de anexar una cadena al final de las líneas en Eclipse? Buscar y encontrar parece que funcionaría, pero al usar find con solo la expresión de expresión regular $ no encuentra ninguna cadena. .$ encontrará algo, pero ejecutar find replace con esto elimina el último carácter de su línea, lo cual es indeseable. ¿Alguien sabe una manera de lograr esto en Eclipse? ¿Hay algo que estoy haciendo mal con mi expresión regular que podría hacer que Eclipse no entienda esto, mientras que otros editores como vim lo manejan bien ... (en Vi/Vim :0,$s/$/appended to end of line/).Anexando al final de línea en eclipse

Seguramente no soy la única persona que desea que haya esta funcionalidad ... Es ofrecida por la mayoría de los otros buenos editores. ¿Podría ser considerado un error?

+0

¿Qué estás intentando agregar y por qué? Agregar código para completar (;) líneas hace que no se pueda leer, algo por lo que se maldecirá si tiene que regresar y editar el programa más tarde. –

+0

Estoy tratando de anexar '"; 'a una lista de variables finales que se cortan y pegan de otro documento. No se preocupe, voy a mantener la legibilidad ... – gbtimmon

Respuesta

14

Acepto que esto es un error en el eclipse. Intenté lo mismo que tú con los mismos resultados. También traté de usar la cadena de búsqueda de expresiones regulares "(? < =.) $" Para tratar de ignorar la coincidencia de un solo caracter en el reemplazo pero que también falló. Uno debería poder buscar el final de la cadena para anexar.

He aquí un truco para hacer que funcione,

 Find: "(.)$" 
     Replace: $1foo 

Esto reemplaza el partido de carácter individual antes del final de la línea y añade foo.

Eso es mucho salto de aro, pero al menos funciona.

+0

Brillante, ¡Esto lo resuelve! ¡Gracias! – gbtimmon

0

Me pregunto si la mejor opción sería ejecutar un programa Java en la lista de variables antes de copiarlas. No estoy seguro del formato del archivo que ha cortado y pegado, pero si es sólo una lista con sólo los nombres de las variables en cada línea, intente esto:

ArrayList<String> importarray = new ArrayList<String>(); 
ArrayList<String> rebuildarray = new ArrayList<String>(); 
BufferedReader bufferedfile = new BufferedReader(); 

public static void main(String[] args) { 
    readFile(); 
    processFile(); 
} 

static void readFile() { 

String file = "C:\\path\\file.txt"; 
try { 
    String line; 
    importstart = new BufferedReader(new FileReader(file)); 
    for (line = importstart.readLine(); line != null; line = importstart.readLine()) { 
     importarray.add (line); 
    } 
} catch (FileNotFoundException e) { 
    e.printStackTrace(); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 
} 

static void processFile() { 
String complete = ""; 
for (String string : importarray) { 
    complete = string + "\";"; 
    rebuildarray.add(complete); 
} 
    } 

la adición de este en proporcionaría una serie de nombres de variables con " "; "En el extremo

Como alternativa, puede utilizar esta matriz en la declaración de cuerda y hacer:

for (String variable : rebuildarray) { 
final String string = variable; 
doSomething(string); 
} 

Esto sería negar la necesidad de la adición de";.

Tenga en cuenta que si esto es un poco demasiado, o incluso totalmente lo que estaba buscando, pero son un par de ideas.

+0

Acepté porque usted es la única persona que intentó responder y Aprecio sinceramente. Pero esto es un poco más de trabajo, entonces estoy buscando hacer para resolver este problema. Sería más rápido simplemente dar un mordisco a la bala y escribir estas cosas a mano, luego escribir el código para escribir mi código para mí :). – gbtimmon

+1

Gracias, pero lo siento, no pude ayudar más. –

Cuestiones relacionadas