Các vấn đề chuyển đổi văn bản thuần túy thành danh sách gạch đầu dòng Microsoft Word


1

Tôi là một lập trình viên. Tôi ghét báo cáo tình trạng. Tôi tìm thấy một cách để sống với nó. Trong khi tôi đang làm việc trong IDE của mình (Visual Slickedit), tôi giữ một tệp văn bản đơn giản mở trong một trong các tab tệp / bộ đệm. Khi tôi hoàn thành mọi thứ, tôi chỉ cần ghi lại một ghi chú nhanh vào tập tin đó. Vào cuối tuần đó trở thành báo cáo tình trạng hàng tuần của tôi. Các mục ví dụ:

  The Datatables.net plugin runs very slowly in IE 8 with more than 2,000 records. I   
  changed the way I did the server side code to process the data to make less work for the 
  plugin to get decent performance for the IE 8 users.

  I made a class to wrap data from the new data collection objects into the legacy data 
  holder objects.  This will let the new database code be backward compatible with the  
  legacy code until we can replace it.

  I found the bug reported by Jane.  The software is fine.  The database we use for the
  test site has data that is corrupted in a way it wouldn't be for production site

Vào cuối tháng, tôi quay lại mỗi tệp * .txt hàng tuần và dán tất cả các mục vào tệp MS Word cho báo cáo hàng tháng. Tôi cung cấp báo cáo hàng tháng cho một thư ký cho công ty hợp đồng, người phải tổng hợp các báo cáo hàng tháng của mọi người vào một tài liệu MS Word 2007. Vấn đề của anh ấy, sớm trở thành vấn đề của tôi, xuất hiện khi anh ấy làm nổi bật các đoạn văn của tôi như những đoạn trên để đặt viên đạn trước đoạn văn của tôi.

Khi anh ấy làm nổi bật các ghi chú của tôi để đặt viên đạn trước mặt chúng bằng MS Word 2007, Word sắp xếp lại văn bản một chút và dòng chữ / ký tự mới trả về lảo đảo văn bản để văn bản không còn ở dạng gọn gàng.

Điều này:

I found the bug reported by Jane.  The software is fine.  The database we use for the
test site has data that is corrupted in a way it wouldn't be for production site

Trở thành này:

I found the bug reported by Jane.  The software is fine.  The database we use for 
the
test site has data that is corrupted in a way it wouldn't be for production site

Tôi đã thử bật tính năng bọc từ trong IDE của mình cho các tệp văn bản mà tôi đặt ghi chú trạng thái của mình. Nó chỉ đặt một số loại ký tự dòng mới vào. Tìm kiếm / Thay thế các ký tự trong tệp văn bản có kết quả là hủy các đoạn văn.

Khi các ghi chú của tôi được dán vào MS Word, Word sẽ tự động chuyển chúng thành các đoạn ngắt đoạn. Tìm kiếm / Thay thế chúng ở đó có kết quả tương tự. Các dòng trống ngăn cách các ghi chú biến mất. Một mớ hỗn độn lớn.

Điều tôi muốn là có thể tiếp tục thêm ghi chú trạng thái của mình vào tệp văn bản như hiện tại, nhưng hãy làm điều gì đó khác biệt khi tôi dán ghi chú vào MS Word sao cho liason của tôi có thể chọn văn bản, nhấn lệnh gạch đầu dòng và KHÔNG có văn bản so le như hình trên.

Có ý kiến ​​gì không?

Cảm ơn nhiều

Steve


Bạn đang sử dụng trình soạn thảo văn bản nào? Dường như với tôi rằng bạn có thể nhấn phím enter trong tệp văn bản để giữ văn bản trên màn hình. Bạn đã mở tệp văn bản trong VBA và chạy các ký tự để xem liệu chúng có trở về vận chuyển hay không? chr (! 3) và / hoặc chr (10)
wbeard52

IDE của tôi, Visual Slickedit, là những gì tôi đang sử dụng để chỉnh sửa tệp văn bản. Tôi mới phát hiện ra rằng nó có cả "bọc từ" và "bọc từ mềm", thứ hai dường như có ít ký tự định dạng hơn. Tôi không có hộp cửa sổ ở nhà, nhưng thứ Hai tôi sẽ thử "gói từ mềm" để xem liệu nó có để lại dòng mới / trả lại không.
dùng787832

Câu trả lời:


3

Bạn đang sử dụng một dòng mới duy nhất để gói và gấp đôi dòng mới cho đoạn văn. Word nhận ra một hoặc nhiều dòng mới là một đoạn mới, trở thành một gạch đầu dòng mới. Bạn cần giới thiệu thêm một bước thao tác trước khi dán vào Word, trong đó các dòng mới được xóa.

Nếu bạn có thể sử dụng các biểu thức thông thường, thì việc thay thế \r\n(?!\r\n)bằng không có gì là đơn giản . Điều này loại bỏ các dòng mới (của CR+LFgiống) nếu chúng không được theo sau bởi một dòng mới khác, do đó loại bỏ các ngắt dòng đơn. 1

Nó có tác dụng phụ là giảm nhiều dòng mới. 2 Bạn có thể làm điều này với nhiều trình soạn thảo văn bản nâng cao; hầu như bất cứ điều gì hỗ trợ Biểu thức chính quy tương thích Perl (PCRE).

Ví dụ: trong Notepad ++:

Ảnh chụp màn hình trước
Bấm vào để xem kích thước đầy đủ

Ảnh chụp màn hình sau
Bấm vào để xem kích thước đầy đủ


Để sắp xếp mọi thứ gọn gàng hơn, bạn có thể thay thế nhiều không gian bằng một không gian duy nhất, bằng cách thay thế [ ]+(một hoặc nhiều không gian) bằng (một không gian duy nhất).


1\r có nghĩa là vận chuyển trở lại ( CR), \ncó nghĩa là dòng cấp ( LF). Windows sử dụng CR+LFcho các dòng mới, Linux chỉ sử dụng LF. (?!something)biểu thị một cái nhìn tiêu cực trong PCRE; tức là nó chỉ khớp nếu somethingkhông xuất hiện. Ngoài ra, giao diện không được bao gồm trong trận đấu và do đó không được thay thế, nó chỉ được kiểm tra .

2(?<!\r\n)\r\n(?!\r\n) sẽ không khớp / giảm nếu có nhiều hơn một dòng. Nó sử dụng lookbehind tiêu cực, (?<!something).


Wow, cảm ơn câu trả lời giáo dục và chi tiết.
dùng787832
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.