2012-05-19 32 views
81

Tôi có một tập tin văn bản có chứa văn bản như:Làm cách nào để ngắt dòng tại một ký tự cụ thể trong Notepad ++?

['22APR2012 23:10', '23APR2012 07:10', 1, 3, 0], ['22APR2012 23:10', '23APR2012 07:20', 1, 3, 0], ['22APR2012 23:15', '23APR2012 06:40', 0, 1, 0], ['22APR2012 
23:15', '23APR2012 06:40', 1, 3, 0], ['22APR2012 23:15', '23APR2012 06:40', 0, 1, 0], ['22APR2012 23:15', '23APR2012 07:00', 1, 3, 0], ['22APR2012 23:15', '23APR2012 
07:00', 0, 1, 0], ['22APR2012 23:20', '23APR2012 09:35', 0, 1, 0], ['22APR2012 23:20', '23APR2012 09:35', 1, 3, 0], ['22APR2012 23:20', '23APR2012 10:10', 1, 3, 0], 
['22APR2012 23:25', '23APR2012 05:35', 1, 3, 0], 

Tôi muốn các dòng phá vỡ tại ], ký tự:

['22APR2012 19:30', '23APR2012 00:25', 0, 1, 0], 
['22APR2012 19:35', '23APR2012 01:45', 1, 3, 0], 
['22APR2012 19:50', '23APR2012 05:25', 1, 3, 0], 
['22APR2012 19:50', '23APR2012 05:25', 0, 1, 0], 
['22APR2012 19:55', '23APR2012 06:25', 1, 3, 0], 

Có cách nào để làm điều đó trong Notepad ++ hoặc bất kỳ trình soạn khác?

+2

trùng lặp của Super dùng câu hỏi: http: //superuser.com/questions/34451/notepad-find-and-replace-string-with-a-new-line – xQbert

+1

Can bạn cho tôi biết làm thế nào để làm điều này nếu tôi muốn phá vỡ nó bằng ';'? Các giải pháp cho ']' không hoạt động đối với tôi – CodyBugstein

+0

trong giải pháp được chấp nhận, chỉ cần thay thế '],' bằng ';' – Aris

Trả lời

132
  1. Nhấn Ctrl + h hoặc tìm kiếm -> Replace trên đỉnh đơn
  2. Theo nhóm Chế độ tìm kiếm, chọn Regular biểu
  3. Trong trường Find what văn bản, nhập ],\s*
  4. Trong trường Replace with lĩnh vực văn bản, gõ ],\n
  5. Bấm Replace All
+11

"\ r \ n" là mã để trả về trong Notepad ++. – KyleMit

+8

Để làm việc này trong phiên bản Notepad ++ 6.7.8.2, tôi phải sử dụng chế độ Tìm kiếm mở rộng, thay vì biểu thức chính quy. – AJefferiss

+4

Tôi cũng phải sử dụng Mở rộng, tuy nhiên đối với một ngắt dòng đơn '\ n' chỉ cần thiết. – jarmerson

2

Tôi không biết làm thế nào nó có thể hoạt động tự động, nhưng bạn có thể sao chép "]", cùng với dòng mới và sau đó sử dụng chức năng thay thế.

7

Nếu văn bản chứa \ r \ n cần được chuyển đổi thành các dòng mới sử dụng chế độ 'Mở rộng' hoặc 'Biểu thức chính quy' và thoát khỏi ký tự gạch chéo trong 'Tìm gì':

Tìm nội dung: \\ r \\ n

Replace with: \ r \ n

2

Nếu bạn đang tìm kiếm để có được một dấu phẩy tách chuỗi thành một cột với CR LF bạn sẽ không có khả năng để làm điều đó trong Notepad ++, giả sử bạn không muốn để viết mã, bạn có thể thao tác nó trong Microsoft Excel.

Nếu bạn sao chép chuỗi bạn đến vị trí B1:

A2 =LEFT(B1,FIND(",",B1)-1) 
B2 =MID(B1,FIND(",",B1)+1,10000) 

Chọn A2 và B2, sao chép mã để các tế bào liên tiếp (bằng cách kéo):

A3 =LEFT(B2,FIND(",",B2)-1) 
B3 =MID(B2,FIND(",",B2)+1,10000) 

Khi bạn nhận đượC#VALUE! trong ô cuối cùng của cột A thay thế nó bằng giá trị B của hàng trước đó.

Cuối cùng, cột A của bạn sẽ chứa văn bản mong muốn. Sao chép và qua nó bất cứ nơi nào bạn muốn.

+0

Giải pháp rất sáng tạo! –

+4

"bạn sẽ không thể làm điều đó trong Notepad ++" - điều đó không đúng. Sử dụng reg exp như creemama exmplained ở trên. Nó hoạt động hoàn hảo. – mentallurg

5
  1. mở notePad++
  2. mở Find window Ctrl + F
  3. Đổi thành Replace Tab
  4. Chọn Search Mode-Extended
  5. Loại ], trong Find What lĩnh vực
  6. Loại \n trong Replace with lĩnh vực
  7. Lượt Replace All
  8. Boom
+0

Bạn đang trả lời câu hỏi nào? – Toto

+0

cảm ơn bạn đã chỉ ra @Toto, nó ổn –

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