Làm cách nào để ngắt dòng tại một ký tự cụ thể trong Notepad ++?


104

Tôi có một tệp văn bản chứa văn bản như:

['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 ngắt dòng tại các ],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 thảo nào khác không?


2
bản sao của câu hỏi Người dùng siêu cấp
xQbert

1
Bạn có thể 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ó ;? Các giải pháp cho ]không làm việc cho tôi
CodyBugstein

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

Câu trả lời:


181
  1. Nhấp vào Ctrl + h hoặc Tìm kiếm -> Thay thế trên menu trên cùng
  2. Trong nhóm Chế độ tìm kiếm, hãy chọn Biểu thức chính quy
  3. Trong trường Tìm nội dung, nhập ],\s*
  4. Trong trường Thay thế bằng văn bản, hãy nhập ],\n
  5. Nhấp vào Thay thế Tất cả

12
Để điều này hoạt động trong Notepad ++ phiên bản 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 Extended, tuy nhiên \nchỉ cần ngắt dòng là cần thiết.
jarmerson

16

Hãy giả sử ],là nhân vật mà chúng ta muốn khám phá

  1. Mở notePad++
  2. Mở Find windowCtrl + F
  3. Chuyển sang ReplaceTab
  4. Chọn Search ModeđểExtended
  5. Loại ],trong Find Whatlĩnh vực
  6. Loại \ntrong Replace withlĩnh vực
  7. Đánh Replace All
  8. Bùng nổ

4
6. Loại \r\ntrong Replace withlĩnh vực
Bob Stein

Để được xem trong Windows (tức là Notepad), chúng ta cần \ r \ n. Nếu không, \ n hoạt động trên bất kỳ nền tảng nào khác (nên ngắt dòng và tiếp tục bên dưới nó).
Salvador Valencia

8

Nếu văn bản chứa \ r \ n cần được chuyển đổi thành các dòng mới, hãy 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 ngược trong 'Tìm gì':

Tìm cái gì: \\ r \\ n

Thay thế bằng: \ r \ n


6

Hãy thử cách này. Nó đã làm việc cho tôi

  1. Mở Notepad ++ rồi sao chép nội dung của bạn
  2. nhấn ctrl + h
  3. Tìm ký tự nên là (dấu phẩy) hoặc bất kỳ ký tự nào bạn muốn thay thế
  4. Thay thế bằng phải là \ n
  5. Chọn Chế độ tìm kiếm -> Mở rộng (\ n, \ r, \ t, \ 0)
  6. Sau đó bấm vào Replace All

2

Tôi không biết nó có thể hoạt động tự động như thế nào, 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ế.


2

Nếu bạn đang tìm kiếm một chuỗi được phân tách bằng dấu phẩy thành một cột có CR LF, bạn sẽ không thể 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 của mình vào 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ã vào các ô kế 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ác 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à dán nó bất cứ nơi nào bạn muốn.


1
Giải pháp rất sáng tạo!
diego nunes

5
"bạn sẽ không thể làm điều đó trong Notepad ++" - điều đó không đúng. Sử dụng reg exp như creemama đã giải thích ở trên. Nó hoạt động hoàn hảo.
mentallurg
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.