2012-08-03 17 views
9

Gibt es eine Möglichkeit, Zeichenkette an das Ende der Zeilen in Eclipse anzuhängen? Suchen und finden scheint so, als würde es funktionieren, aber die Verwendung von find nur mit dem Regex-Ausdruck $ findet keine Zeichenketten. .$ wird etwas finden, aber running find replace löscht das letzte Zeichen der Zeile, was unerwünscht ist. Kennt jemand einen Weg, dies in Eclipse zu erreichen? Gibt es etwas, das ich falsch mit meiner Regex mache, das Eclipse vielleicht nicht verstehen lässt, während andere Editoren wie vim es gut handhaben ... (in Vi/Vim :0,$s/$/appended to end of line/).An das Ende der Zeile in der Eclipse angehängt

Sicher bin ich nicht die einzige Person, die wünscht, dass es diese Funktionalität gab ... Es wird von den meisten anderen guten Herausgebern angeboten. Könnte dies als Fehler angesehen werden?

+0

Was möchten Sie anhängen und warum? Das Hinzufügen von Code zum Vervollständigen von (;) Zeilen führt zu einem Mangel an Lesbarkeit, etwas, für das Sie sich verfluchen werden, wenn Sie später zurückkehren und das Programm bearbeiten müssen. –

+0

Ich versuche '' '' an eine Liste der endgültigen Variablen anzuhängen, die aus einem anderen Dokument ausgeschnitten und eingefügt werden. Keine Sorge, ich werde die Lesbarkeit behalten ... – gbtimmon

Antwort

14

Ich stimme zu, dass dies ein Fehler in Eclipse ist. Ich habe dasselbe mit den gleichen Ergebnissen versucht wie du. Ich habe auch versucht, die Regex-Suchzeichenfolge "(? < =.) $" Zu verwenden, um zu versuchen, die Übereinstimmung einzelner Zeichen in der Ersetzung zu ignorieren, aber dies ist ebenfalls fehlgeschlagen. Man sollte in der Lage sein, nach dem Ende der anzuhängenden Zeichenfolge zu suchen.

Hier ist ein Trick, damit es funktioniert,

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

Dies das einzelne Zeichen Spiel vor dem Ende der Linie ersetzt und anhängt foo.

Das ist eine Menge Hoop Jumping, aber zumindest funktioniert es.

+0

Brilliant, Das löst es! Danke! – gbtimmon

0

Ich frage mich, ob die beste Wette wäre, ein Java-Programm auf der Liste der Variablen zu starten, bevor Sie sie kopieren. Ich bin mir nicht sicher über das Format der Datei, die Sie ausschneiden, aber wenn es ist nur eine Liste mit nur den Variablennamen in jeder Zeile, versuchen sie dies:

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

diesen in Hinzufügen würde mit einer Reihe von Variablennamen zur Verfügung stellen "„; . „Am Ende

Alternativ können Sie dieses Array in der String-Deklaration verwenden und zu tun:

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

Dies würde die Notwendigkeit für die Zugabe von negieren.“;

Beachten Sie, ob dies ein bisschen zu viel ist, oder sogar ganz was Sie suchen, aber es sind ein paar Ideen.

+0

Ich akzeptiere, da du die einzige Person bist, die versucht zu antworten und Ich weiß das aufrichtig zu schätzen, aber das ist ein bisschen mehr Arbeit als ich zu tun, um dieses Problem zu lösen, es wäre schneller, nur in den sauren Apfel zu beißen und das Zeug mit der Hand einzugeben und Code zu schreiben, um meinen Code für mich zu schreiben :). – gbtimmon

+1

Danke, aber es tut mir leid, ich konnte nicht mehr helfen –

Verwandte Themen