Công cụ Loại Bỏ Khoảng Trắng & Làm Sạch Văn Bản

Làm sạch văn bản lộn xộn bằng cách loại bỏ khoảng trắng dư thừa, tab và dòng trống.

Dữ liệu của bạn không rời khỏi thiết bị

Cách sử dụng

  1. Dán văn bản của bạn vào ô nhập.
  2. Chọn các tùy chọn làm sạch mong muốn (tất cả được chọn theo mặc định).
  3. Nhấp Làm sạch văn bản để xử lý.
  4. Sao chép hoặc tải xuống kết quả đã làm sạch.

Câu hỏi thường gặp

Cái gì được tính là khoảng trắng?

Khoảng trắng, tab, khoảng trắng không ngắt và các ký tự khoảng trắng Unicode khác. Dấu xuống dòng được xử lý riêng qua các tùy chọn « dòng trống » và « thu gọn dấu xuống dòng ».

Công cụ này có sửa đổi nội dung của tôi không?

Không. Nó chỉ loại bỏ hoặc thu gọn các ký tự khoảng trắng. Từ ngữ, dấu câu và nội dung khác của bạn vẫn còn nguyên.

Tôi có thể sử dụng nó cho mã không?

Bạn có thể, nhưng cẩn thận · loại bỏ khoảng trắng đầu sẽ phá hủy thụt lề mã. Sử dụng các ô tích riêng lẻ để kiểm soát chính xác những gì được làm sạch.

Ý nghĩa thực sự của «whitespace»

Ký tự whitespace là ký tự tạo ra khoảng trắng khi văn bản được kết xuất, thay vì ký tự hiển thị, dùng để phân tách từ, thụt lề dòng và ngắt đoạn văn. Unicode Character Database gán thuộc tính White_Space chính thức cho đúng 25 code point. Các đối tượng quen thuộc (space, tab, line feed, carriage return) bao gồm hầu hết những gì bạn sẽ dán, nhưng danh sách đầy đủ còn bao gồm no-break space (U+00A0), narrow no-break space (U+202F), 11 typographic space trong khoảng U+2000-U+200A, line và paragraph separator (U+2028, U+2029), medium mathematical space (U+205F), và full-width ideographic space (U+3000) dùng sau dấu câu CJK.

Một nhóm riêng biệt trông vô hình nhưng không được Unicode phân loại là whitespace: byte-order mark (U+FEFF), zero-width space (U+200B), zero-width joiner và non-joiner (U+200D, U+200C), word joiner (U+2060), và soft hyphen (U+00AD). Đây là các ký tự điều khiển định dạng, không phải dấu cách, hầu hết các báo cáo «văn bản đã làm sạch nhưng vẫn còn sai gì đó» đều bắt nguồn từ một trong số đó.

Công cụ này làm gì, từng tùy chọn một

Cả sáu tùy chọn là các nút bật/tắt độc lập (bỏ chọn bất kỳ cái nào bạn muốn bỏ qua) và mỗi cái chỉ chạy trên văn bản bạn dán. Không có gì được tải lên; việc làm sạch diễn ra trong trình duyệt của bạn qua các lượt JavaScript regex.

Khi nào bạn dùng công cụ này

Các cạm bẫy thường gặp

Bối cảnh kỹ thuật ngắn

Công cụ này chạy hoàn toàn trong trình duyệt của bạn dùng regex engine tích hợp của JavaScript. String.prototype.trim() trong các engine hiện đại (mọi evergreen browser từ khoảng năm 2015) bỏ cả no-break space lẫn byte-order mark, vì đặc tả ECMAScript định nghĩa tập trim của nó là hợp của các production WhiteSpaceLineTerminator, danh sách bao gồm tab, dấu cách thường, NBSP, BOM, các typographic space, và CR / LF / LS / PS line break. Nó loại trừ chỉ một ký tự whitespace Unicode, U+0085 (NEL), một điều kỳ lạ kế thừa từ EBCDIC và hầu như không bao giờ xuất hiện trong văn bản hiện đại.

Với đầu vào rất lớn, phần chậm hiếm khi là lượt regex, mà là viết kết quả trở lại textarea và render lại DOM. Đầu vào đến vài megabyte thường ổn trên laptop hiện đại; vượt quá đó, các công cụ command-line (tr, sed, awk, hoặc script Python ngắn) thường nhanh hơn.

Câu hỏi thêm

Sự khác biệt giữa dấu cách thường và no-break space là gì?

Chúng kết xuất cùng chiều rộng nhưng no-break space (NBSP, U+00A0) yêu cầu bộ kết xuất không ngắt dòng tại điểm đó. Word, Google Docs và nhiều CMS chèn nó giữa danh hiệu và họ (Mr. Smith), giữa số và đơn vị (10 km), hoặc xung quanh ký hiệu tiền tệ ($ 5). Đây là ký tự «weird» phổ biến nhất khi tìm thấy trong văn bản dán, và đó là lý do tại sao khoảng cách trông giống nhau giữa hai từ đôi khi chống lại regex viết cho dấu cách thường.

Công cụ này có xóa ký tự zero-width hoặc byte-order mark không?

Xử lý whitespace của JavaScript thường bắt được byte-order mark (U+FEFF). Nó không bắt được zero-width space (U+200B), zero-width joiner (U+200D), zero-width non-joiner (U+200C), word joiner (U+2060), hay soft hyphen (U+00AD), Unicode không phân loại chúng là whitespace, vì vậy chúng tồn tại qua lượt whitespace theo thiết kế. Nếu bạn nghi ngờ một trong số đó có trong văn bản của mình, bạn sẽ cần trình kiểm tra invisible-character thay thế.

Tại sao dòng trắng và nhiều dấu xuống dòng liên tiếp là hai tùy chọn riêng biệt?

«Xóa dòng trắng» xóa mọi dòng trống, kết quả là một khối văn bản liên tục không có ngắt đoạn. «Thu gọn nhiều dấu xuống dòng thành một» giữ một dấu xuống dòng duy nhất giữa các đoạn và chỉ xóa các dấu thừa. Nếu bạn muốn các đoạn dễ đọc trong đầu ra, hãy để tắt tùy chọn đầu tiên và dùng tùy chọn thứ hai.

Có giới hạn độ dài không?

Không có giới hạn cứng, công cụ có thể xử lý thoải mái văn bản trong khoảng hàng chục nghìn đến vài triệu ký tự trên laptop hiện đại. Giới hạn là hiệu suất textarea của trình duyệt: các lần dán rất lớn bắt đầu bị lag khi nhập hoặc sao chép, không phải trong bước làm sạch.

Có dữ liệu nào được gửi lên máy chủ không?

Không. Văn bản không bao giờ rời khỏi trình duyệt của bạn. Việc làm sạch chạy cục bộ trong JavaScript, kết quả được viết trở lại vào textarea trên cùng trang, và bạn có thể dùng trang ngoại tuyến sau khi đã tải. Điều tương tự áp dụng cho mọi công cụ trên Absolutool.

Công cụ liên quan

Bộ chuyển đổi trường hợp Công cụ Đếm Từ & Ký Tự Trực Tuyến Miễn Phí Công cụ Sắp Xếp Dòng