2012-08-03 26 views
9

Có cách nào để chắp thêm chuỗi vào cuối dòng trong Eclipse không? Tìm kiếm và tìm thấy có vẻ như nó sẽ hoạt động, nhưng việc sử dụng tìm chỉ với biểu thức regex $ không tìm thấy bất kỳ chuỗi nào. .$ sẽ tìm thấy một cái gì đó, nhưng chạy tìm thấy thay thế với điều này xóa ký tự cuối cùng của dòng của bạn, đó là không mong muốn. Có ai biết một cách để thực hiện điều này trong Eclipse? Có điều gì đó tôi đang làm sai với regex của tôi mà có thể làm cho Eclipse không hiểu điều này, trong khi các biên tập viên khác như vim xử lý nó chỉ tốt .. (trong Vi/Vim :0,$s/$/appended to end of line/).Nối vào cuối dòng trong nhật thực

Chắc chắn tôi không phải là người duy nhất muốn có chức năng này ... Nó được cung cấp bởi hầu hết các biên tập viên giỏi khác. Điều này có thể được coi là một lỗi?

+0

Bạn đang cố gắng thêm gì và tại sao? Việc thêm mã để hoàn thành (;) các dòng làm cho việc thiếu khả năng đọc, điều bạn sẽ tự nguyền rủa nếu bạn phải quay lại và chỉnh sửa chương trình sau này. –

+0

Tôi đang cố gắng nối thêm '"; 'vào danh sách các biến cuối cùng được cắt và dán vào một tài liệu khác. Đừng lo, tôi sẽ duy trì khả năng đọc ... – gbtimmon

Trả lời

14

Tôi đồng ý rằng đây là lỗi trong nhật thực. Tôi đã thử giống như bạn với kết quả tương tự. Tôi cũng đã cố gắng sử dụng chuỗi tìm kiếm regex "(? < =.) $" Để cố gắng bỏ qua kết hợp ký tự đơn lẻ trong thay thế nhưng điều đó cũng không thành công. Người ta có thể tìm kiếm kết thúc chuỗi để nối thêm.

Dưới đây là một thủ thuật để làm cho nó hoạt động,

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

này thay thế các trận đấu vật duy nhất trước khi kết thúc dòng và gắn thêm foo.

Đó là rất nhiều nhảy hoop nhưng ít nhất nó hoạt động.

+0

Brilliant, Điều này giải quyết nó! – gbtimmon

0

Tôi tự hỏi nếu đặt cược tốt nhất là chạy chương trình Java trong danh sách biến trước khi bạn sao chép chúng. Tôi không chắc định dạng tệp bạn đã cắt và dán từ nhưng nếu nó chỉ là một danh sách chỉ có các tên biến trên mỗi dòng, hãy thử điều này:

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

Việc thêm này sẽ cung cấp một dãy tên biến với ""; "Ở cuối dòng

Ngoài ra, bạn có thể sử dụng mảng này trong tờ khai String và làm:

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

này sẽ phủ nhận sự cần thiết của việc bổ sung";.

Lưu ý rằng nếu điều này hơi quá nhiều hoặc thậm chí là những gì bạn đang tìm kiếm, nhưng chúng là một vài ý tưởng.

+0

Tôi chấp nhận vì bạn là người duy nhất cố gắng trả lời và Dut này là một chút công việc sau đó im tìm cách để làm để giải quyết vấn đề này.Nó sẽ nhanh hơn chỉ để cắn đạn và gõ công cụ này bằng tay sau đó viết mã để viết mã của tôi cho tôi :). – gbtimmon

+1

Cảm ơn nhưng tôi xin lỗi tôi không thể giúp đỡ nhiều hơn nữa. –

Các vấn đề liên quan