Làm thế nào tôi có thể xóa từng từ trong một tệp văn bản ngoại trừ một từ?


0

Tôi có một tệp với một loạt thông tin về đường phố và WIFI. Vì vậy, tôi muốn xóa mọi từ trong tệp văn bản ngoại trừ, mật khẩu: ********, và có rất nhiều thông tin và từ sau mật khẩu là biến / từ ngẫu nhiên một dòng với từ mà tôi muốn giữ / sao chép

1499904000, :: 13148748, mật khẩu: 20022003 ,: 1481477952 ,: Saad Al Ssaoudy ,: 7942242}]}


Chào mừng bạn đến với Siêu người dùng! Bạn đã thử những gì cho đến nay?
bertieb

Cảm ơn bạn @bertieb tôi đã cố gắng nhập tệp văn bản vào excel sau đó chọn phân cách từ trình hướng dẫn nhập văn bản sau đó thêm (,) vào các dấu phân cách sau đó sao chép tệp bằng trình ghi chuột nhưng rất chậm. lý do câu hỏi của tôi là sao chép mật khẩu
minamon 17/03/18

Bạn có thể có nghĩa là ngoại trừ mật khẩu và từ ngay sau nó ?
Kẻ giả mạo Twisty

Vui lòng chỉnh sửa câu hỏi để bao gồm một số văn bản trước và sau ví dụ.
DavidPostill

@TwistyImpersonator có
minamon 17/03/18

Câu trả lời:


0

bước 1-

tìm- .*?(?=password:)(password.*?)(?=(,|\s))
thay thế bằng-\r\n\r\n$1\r\n\r\n

Một số giải thích - phần này của tìm kiếm, .*?(?=password:)khớp với điểm mà nó có thể nhìn, tức là ngay bên phải con trỏ và xem mật khẩu từ: ở bên phải con trỏ. Sau đó, bạn có phần tìm kiếm này, (password.*?)nó khớp và nắm bắt mật khẩu từ, những gì sẽ được đề cập tiếp theo. Sau đó, bạn có phần tìm kiếm (?=(,|\s))này có nghĩa là lookahead tức là ngay bên phải con trỏ, để dấu phẩy hoặc một số khoảng trắng như khoảng trắng hoặc cuối dòng. Vì vậy, khi bạn nhìn vào (mật khẩu. *?) Phần .*? của nó sẽ đi đến điểm đó.

Nói rằng bạn có nhập mô tả hình ảnh ở đây

lưu ý rằng tôi đã đánh dấu chấm phù hợp với dòng mới khi thực hiện regex đó, như pic trên imgur hiển thị. Và thông báo trong pic trên có 4 mật khẩu.

Chạy tìm / thay thế, tạo ra các mục sau (hình ảnh bên dưới)

nhập mô tả hình ảnh ở đây

Bước 2

Sau đó, người ta chỉ phải xóa các dòng trống, trong notepad ++, người ta có thể thực hiện chỉnh sửa .. thao tác trực tuyến..xem các dòng trống

Bất kỳ trình soạn thảo văn bản nào có hỗ trợ regex đều ổn, ví dụ: Notepad ++

Lưu ý - một bản sửa đổi trước đó có một biểu thức chính đơn giản hơn mà không xử lý hợp lý với chuỗi xảy ra nhiều lần (ví dụ: nó sẽ chỉ hiển thị lần cuối). Giải pháp này cung cấp tất cả các lần chuỗi xảy ra.


Tôi biết chúng tôi đang chờ OP làm rõ, nhưng tôi đoán là mật khẩu từ xuất hiện nhiều lần trong tệp. Cho bạn nói, "lưu ý- Hãy cố gắng đảm bảo từ 'mật khẩu' không xuất hiện hai lần trong tệp" , điều gì xảy ra / có thể được thực hiện nếu nó xuất hiện nhiều lần?
Kẻ giả mạo Twisty

@TwistyImpersonator Rằng regex sẽ / 'nên' đưa ra cái cuối cùng. Một điều chỉnh nhẹ, vì vậy .*?(?=password)(password[^,]*),.* sẽ có được cái đầu tiên. Nhưng điều lý tưởng nhất mà người ta muốn nếu có nhiều mật khẩu là giữ tất cả chúng và xóa mọi thứ khác ..
barlop 18/03/18

@TwistyImpersonator một giải pháp để làm điều đó là hai bước, (có lẽ nó có thể được thực hiện trong một), mặc dù tôi thấy thường xuyên thực hiện regexes trong nhiều bước là cách dễ nhất và rõ ràng nhất. Vì vậy, i.imgur.com/ivmz If8.png có nghĩa là tìm - (?=password:).*?(?=[\s,]) thay thế bằng \r\n\r\n$0\r\n\r\n Sau đó, mọi mật khẩu sẽ nằm trên dòng riêng của nó. Sau đó, các biểu thức đơn giản này có thể nói bất kỳ dòng nào không bắt đầu bằng mật khẩu có thể bị xóa. vì vậy hãy tìm - ^(?!password).*$thay thế bằng (để trống).
barlop 18/03/18

@TwistyImpersonator lưu ý rằng tôi đã đánh dấu chấm phù hợp với dòng mới khi thực hiện regex đó, như pic trên imgur hiển thị. Điều đó tạo ra i.imgur.com/tVoYscn.png Sau đó, người ta chỉ phải xóa các dòng trống, trong notepad ++, người ta có thể thực hiện chỉnh sửa..line hoạt động..xem các dòng trống.
barlop 18/03/18

@barlop cảm ơn bạn rất nhiều nó đã làm việc nó hoạt động .. tôi rất vui vì tôi đã tìm kiếm điều này trong một thời gian dài. nhưng tôi đã thực hiện bước cuối cùng với EmEditor, có một vấn đề với notepad ++ .. vui lòng thêm phần cuối cùng của giải pháp để tôi bỏ phiếu và đánh dấu nó là câu trả lời hay nhất.
minamon

0

Tôi không nghĩ có bất kỳ chương trình nào (mà tôi đã gặp) được thiết kế cho vấn đề của bạn.

Điều tốt nhất tôi có thể đề xuất là viết một tập lệnh bằng ngôn ngữ như Python 3.

Nếu bạn không quen với lập trình, đặt cược tốt nhất của tôi là hướng đến stackoverflow để trình bày vấn đề của bạn.

Tôi xin lỗi nếu đây không phải là một sự thay thế phù hợp.


bạn nên tìm hiểu về các biểu thức thông thường và chụp
barlop 17/03/18

@ Máy tính Ngô có bạn nên
minamon
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.