2012-01-14 33 views

Trả lời

9

Nếu tệp của bạn chỉ là một lớp lót lớn được giới hạn bởi chuỗi "MSH", bạn có thể sử dụng tệp này theo cụm từ thông dụng.

Tuy nhiên, hãy đảm bảo con trỏ của bạn ở đầu tệp hoặc nó sẽ chỉ tìm kiếm bản ghi thứ 200 tiếp theo từ nơi bạn bắt đầu!

Find:

(.? (*) MSH) {199}

này nên làm nổi bật 199 hồ sơ đầu tiên, vì vậy các bản ghi không được đánh dấu tiếp theo là 200 năm.


HOẶC, hãy tiến xa hơn một chút!
Một lần nữa, trong biểu thức chính quy, hãy tìm kiếm thay thế, một lần nữa hãy đảm bảo con trỏ của bạn ở đầu tệp.

Find:

(.? (*) MSH) {199} ((*) MSH {1}.?) *

Thay thế:.

$ 3

Nên thay thế toàn bộ nội dung của cửa sổ chỉ với bản ghi thứ 200.

N.B: Điều này giả định rằng chuỗi "MSH" không phải là một phần của bất kỳ bản ghi nào trong tệp.


Như chú thích cuối trang, tôi thực sự nghi ngờ bất kỳ điều này nhanh hơn một tệp lớn. Scripting gần như chắc chắn là một lựa chọn tốt hơn. Hoặc thậm chí có thể thả nó vào Excel và sử dụng text-to-columns.

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