Tôi muốn xóa một cột ở giữa tệp txt trong notepad ++. Độ dài của tệp xấp xỉ 50K + dòng vì vậy tôi không muốn phải giữ phím trong khi con trỏ từ từ di chuyển tuyến tính qua các hàng.
Tôi muốn xóa một cột ở giữa tệp txt trong notepad ++. Độ dài của tệp xấp xỉ 50K + dòng vì vậy tôi không muốn phải giữ phím trong khi con trỏ từ từ di chuyển tuyến tính qua các hàng.
Câu trả lời:
Thử:
Alt + Shift + Nhấp chuột trái
Nó sẽ vẽ một hình chữ nhật lựa chọn, có thể làm việc cho bạn.
Tôi giả sử bạn có Notepad ++ với Plugin TextFX v0.26 đã cài đặt và bạn chọn "Biểu thức chính quy" trong hộp thoại Thay thế.
Nếu dữ liệu của bạn có định dạng
col1 col2 col3 col4
col1 col2 col3 col4
col1 col2 col3 col4
col1 col2 col3 col4
trong đó các cột không có khoảng trắng và được phân tách bằng một khoảng trắng, sau đó, giả sử bạn muốn xóa cột thứ ba: bạn có thể tìm kiếm (.*?) (.*?) (?:.*?)( .*)
và thay thế bằng $1 $2$3
(không gian được yêu cầu) để có được
col1 col2 col4
col1 col2 col4
col1 col2 col4
col1 col2 col4
regex101.com có một lời giải thích gọn gàng hơn về regex tìm kiếm hơn tôi sẽ:
/(.*?) (.*?) (?:.*?)( .*)/
1st Capturing group (.*?)
.*? matches any character (except newline)
Quantifier: *? Between zero and unlimited times, as few times as possible, expanding as needed [lazy]
matches the character literally
2nd Capturing group (.*?)
.*? matches any character (except newline)
Quantifier: *? Between zero and unlimited times, as few times as possible, expanding as needed [lazy]
matches the character literally
(?:.*?) Non-capturing group
.*? matches any character (except newline)
Quantifier: *? Between zero and unlimited times, as few times as possible, expanding as needed [lazy]
3rd Capturing group ( .*)
matches the character literally
.* matches any character (except newline)
Quantifier: * Between zero and unlimited times, as many times as possible, giving back as needed [greedy]
Regexes khác để đạt được kết quả tương tự là có thể.
Nếu các cột của bạn có chiều rộng cố định (và bao gồm khoảng trắng) hoặc được phân tách bằng một ký tự khác thì bạn sẽ phải sửa đổi biểu thức tìm kiếm và thay thế, nhưng không có dữ liệu mẫu và kết quả bắt buộc tôi không thể đưa ra câu trả lời chính xác.
Tôi không tin có một cách để làm điều này trong Notepad ++ mà không cần tải xuống / cài đặt plugin cho nó. Nếu tệp của bạn được phân tách, có lẽ bạn có thể tải nó vào Excel hoặc phần mềm tương tự và xóa cột theo cách đó?
Chỉnh sửa: Tôi chỉ nghĩ về một giải pháp thú vị. Bạn có thể thay đổi tốc độ cuộn dòng trong Windows hoặc bất kể hệ điều hành của bạn là gì, khởi động lại Notepad ++, sau đó cuộn chuột hoặc sử dụng các phím mũi tên. Tôi không biết điều này sẽ tạo ra bao nhiêu sự khác biệt, nhưng có lẽ nó đáng để thử.
Bạn có thể làm việc ở chế độ cột trong Notepad ++. Tùy chọn này nằm trong menu Chỉnh sửa - nhấp vào nó sẽ nhắc bạn với phím tắt chính xác. Tôi nhấn và giữ phím Alt sau đó chọn dữ liệu tôi muốn xóa / chỉnh sửa.