2012-08-03 17 views
9

C'è un modo per aggiungere una stringa alla fine delle righe in Eclipse? Cerca e trova sembra come se funzionasse, ma l'utilizzo di Trova con solo l'espressione regolare $ non trova alcuna stringa. .$ troverà qualcosa, ma la ricerca in esecuzione sostituisce con questo elimina l'ultimo carattere della linea, che è indesiderabile. Qualcuno sa come farlo in Eclipse? C'è qualcosa che sto sbagliando con la mia espressione regolare che potrebbe fare in modo che Eclipse non lo capisca, mentre altri editor come Vim lo gestiscono bene .. (in Vi/Vim :0,$s/$/appended to end of line/).Aggiunta alla fine della riga in eclissi

Sicuramente non sono l'unica persona che desidera avere questa funzionalità ... È offerta dalla maggior parte degli altri buoni editor. Potrebbe essere considerato un bug?

+0

Cosa stai cercando di aggiungere e perché? Aggiungendo il codice per completare (;) le linee rendono la mancanza di leggibilità, qualcosa per cui ti maledici se devi tornare indietro e modificare il programma in un secondo momento. –

+0

Sto cercando di aggiungere '"; 'a un elenco di variabili finali che vengono tagliate e incollate da un altro documento. Non ti preoccupare, manterrò la leggibilità ... – gbtimmon

risposta

14

Accetto che si tratti di un bug in eclissi. Ho provato lo stesso come te con gli stessi risultati. Ho anche provato a usare la stringa di ricerca regex "(? < =.) $" Per cercare di ignorare la corrispondenza del singolo carattere nella sostituzione ma anche quella fallita. Uno dovrebbe essere in grado di cercare la fine della stringa da aggiungere.

Ecco un trucco per farlo funzionare,

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

Questo sostituisce il match singolo carattere prima della fine della linea e aggiunge foo.

Questo è un sacco di salto a ostacoli, ma almeno funziona.

+0

Fantastico, questo lo risolve! Grazie! – gbtimmon

0

Mi chiedo se la soluzione migliore sarebbe quella di eseguire un programma Java nell'elenco delle variabili prima di copiarle. Non sono sicuro del formato del file che è stato tagliato e incollato ma se è solo una lista con solo i nomi delle variabili su ciascuna linea, provate questo:

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); 
} 
    } 

Aggiungendo questo fornirebbe un array di nomi variabili con " "; "Sull'estremità

In alternativa, è possibile utilizzare questa matrice nella dichiarazione String e fare:

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

Questo sarebbe negare la necessità per l'aggiunta di";.

Nota se questo è un po 'troppo, o addirittura del tutto quello che stavi cercando, ma sono un paio di idee.

+0

Ho accettato poiché tu sei l'unica persona che ha provato a rispondere e Lo apprezzo sinceramente.Ma questo è un po 'più di lavoro che sto cercando di risolvere per risolvere questo problema Sarebbe più veloce solo mordere il proiettile e digitare questa roba a mano quindi scrivere il codice per scrivere il mio codice per me :). – gbtimmon

+1

Grazie, ma mi dispiace non aver potuto aiutare di più –

Problemi correlati