2012-08-03 15 views
9

Czy istnieje sposób dołączania ciągu znaków do końca wierszy w środowisku Eclipse? Wyszukiwanie i znajdowanie wygląda na to, że zadziała, ale użycie find z tylko wyrażeniem regex $ nie znajdzie żadnych ciągów. .$ coś znajdzie, ale szukanie go zastąpi, usuwając ostatni znak linii, co jest niepożądane. Czy ktoś wie w jaki sposób osiągnąć to w Eclipse? Czy jest coś, co robię nie tak z moim regexem, które może sprawić, że Eclipse nie zrozumie tego, podczas gdy inne edytory, takie jak vim, radzą sobie z tym dobrze ... (w Vi/Vim :0,$s/$/appended to end of line/).Dołączanie do końca linii w zaćmieniu

Z pewnością nie jestem jedyną osobą, która życzy sobie takiej funkcjonalności ... Jest oferowana przez większość innych dobrych redaktorów. Czy można to uznać za błąd?

+0

Co próbujesz dodać i dlaczego? Dołączanie kodu do uzupełnienia (;) linii powoduje brak czytelności, coś, za co przeklniesz, jeśli będziesz musiał wrócić i edytować program później. –

+0

Próbuję dołączyć ""; "do listy ostatecznych zmiennych, które są wycinane i wklejane z innego dokumentu Nie martw się, zachowam czytelność ... – gbtimmon

Odpowiedz

14

Zgadzam się, że jest to błąd w czasie zaćmienia. Próbowałem tak samo jak ty z tymi samymi wynikami. Próbowałem również użyć ciągu wyszukiwania regex "(? < =.) $", Aby spróbować zignorować dopasowanie pojedynczego znaku w replice, ale to również się nie udało. Powinno być możliwe wyszukanie końca ciągu znaków do dodania.

Oto sztuczka, aby to działało,

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

ta zastępuje pojedynczy znak mecz przed końcem linii i dołącza foo.

To dużo skakania, ale przynajmniej działa.

+0

Wspaniały, to rozwiązuje! Dzięki! – gbtimmon

0

Zastanawiam się, czy najlepiej byłoby uruchomić program Java na liście zmiennych przed ich skopiowaniem. Nie jestem pewien formatu pliku, który został wycięty i wklejony, ale jeśli to jest tylko lista tylko z nazwy zmiennych na każdej linii, spróbuj tego:

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

Dodawanie to w zapewniłaby tablicę nazw zmiennych z "„; „Na koniec

Alternatywnie, można użyć tej tablicy w deklaracji String i zrobić:

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

Byłoby to negować potrzebę dodawania.”;

Pamiętaj, że jeśli jest to trochę za dużo lub nawet całkowicie to, czego szukałeś, ale jest to kilka pomysłów.

+0

Zgadzam się, ponieważ jesteś jedyną osobą, która próbowała odpowiedzieć i Doceniam to szczerze: Dut, to trochę więcej pracy niż szukanie, aby rozwiązać ten problem.To byłoby szybsze po prostu ukąszenie kuli i napisanie tego ręcznie, a następnie napisanie kodu, aby napisać dla mnie kod :). – gbtimmon

+1

Dzięki, ale przykro mi, nie mogłem więcej pomóc –

Powiązane problemy