dòng xóa regex chứa kết quả trong văn phòng từ 2013


0

Tôi có một tài liệu bằng lời. Đoạn văn của tôi như:

asdfasdfasdf
abcYear052014
asdfasdfasdf
acbYear122013

Tôi muốn xóa dòng xxxYearyyyy vì vậy trong notepad ++ tôi đặt

.*[0-9]201[0-9]$

và thay thế bằng trống. Vì vậy, nó xóa dòng chứa kết quả. Nhưng khi tôi thử trong microsoft office 2013, nó không thể tìm thấy bất cứ thứ gì mặc dù đã đăng ký 'sử dụng ký tự đại diện'.

Bởi vì tập tin từ của tôi có một văn bản in đậm nên tôi phải làm trong văn phòng. Tôi nghĩ rằng văn phòng microsoft không giỏi trong regex find :(

Bất kỳ ý tưởng hoặc giải pháp?

Cảm ơn vì đã giúp tôi.

Trân trọng

Câu trả lời:


2

MS Office không hỗ trợ biểu thức chính quy giống như trình soạn thảo mã nguồn như Notepad ++.

Bạn có thể thử điều này, mặc dù nó không hoạt động đầy đủ:

<*201[0-9]>

Dưới đây là trợ giúp MS thảo luận về các thẻ hoang dã và các biểu thức chính quy trong MS Office.

https:// hỗ trợ


1

Regex MS Word thiếu nghiêm trọng chức năng. Nếu bạn thực sự cần phải giữ lời (và không thể tìm thấy một trình soạn thảo khác có cả hỗ trợ regex tốt và giữ lại đánh dấu MS Word), tôi đã tìm thấy một cách giải quyết khả thi cho bạn khi sử dụng từ regex:

1) Tiền tố Mỗi dòng với một ký tự mà bạn biết không xuất hiện trong văn bản của bạn. Nói "#". Bạn sẽ nhận được:

#asdfasdfasdf
#abcYear052014
#asdfasdfasdf
#acbYear122013

2) Bây giờ thực hiện tìm kiếm "regex" và thay thế bằng regex sau, sẽ tìm dòng 2 và 4 trong danh sách này:

#[!#]@[0-9]201[0-9]

(Đọc: mọi thứ bắt đầu bằng "#", sau đó có một hoặc nhiều ký tự (@) không phải là "#", sau đó có một chữ số, sau đó là 201 và sau đó là một chữ số.)

3) Sau khi tìm kiếm / thay thế, chỉ cần tìm kiếm / thay thế một lần nữa và thay thế tất cả # không có gì.

Bạn có thể cũng có thể làm việc với macro VisualBasic cho từ, Google nhanh chóng cho thấy VB có regex. Một Google khác cho thấy ai đó ở Stack Overflow đã làm điều gì đó như thế này, rõ ràng: https://stackoverflow.com/questions/6128880/vb-script-to-find-and-replace-text-in-word-document

Một tùy chọn khác là viết một tập lệnh nhỏ, như tập lệnh AHK hoặc AU3, mô phỏng các tổ hợp phím thực hiện: 1. nhấn xuống, 2. nhấn home - shift + end - ctrl + c (sao chép dòng), 3. lấy dòng từ bảng ghi tạm và kiểm tra nó dựa trên biểu thức chính quy của bạn, 4. nhấn xóa nếu dòng phù hợp với biểu thức chính quy. Tôi không chắc chắn 100% rằng ở trên sẽ hoạt động với tất cả các khả năng kỳ lạ đối với đánh dấu MS Word, nhưng nếu chỉ là những dòng in đậm thì nó sẽ hoạt động.


0

Tôi đã tìm ra.

Nó có thể thay thế toàn bộ đoạn hoặc dòng.

Ví dụ của tôi:

abcd abcd xxx1234 efgh asdf

Vì vậy, tôi đánh dấu vào ô "sử dụng ký tự đại diện" trong văn phòng tìm kiếm.

Trong hộp tìm:

^13*xxx[0-9]{4,}*^13

Trong hộp thay thế:

^p

(để xóa dòng hoặc đoạn) hoặc

^p(something you want to replace)^p

Vì thế

^ 13 nhập vào dòng mới (nó chỉ sử dụng trong hộp tìm kiếm khi sử dụng ký tự đại diện không thay thế - nếu bạn cần, bạn phải sử dụng ^ p) ^ p nhập vào dòng mới (nó có thể được sử dụng cả tìm và thay thế trong cả sử dụng thẻ hoang dã hoặc bình thường) * bất kỳ nhân vật xxx [0-9] {4,} xxx và số từ 0-9 và phải có 4 chữ số ở trên

Hy vọng nó sẽ giúp

Cảm ơn hai người ở trên

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.