Trình loại bỏ khoảng trắng thừa và ký tự đặc biệt

Trang chủ / Công cụ / Formatting / Trình loại bỏ khoảng trắng thừa và ký tự đặc biệt
Sử dụng miễn phí Xử lý trực tiếp trên trình duyệt Kết quả tức thì
🤖 Chưa rõ cách dùng? Hỏi AI hướng dẫn
0 ký tự
Tùy chọn làm sạch

Khoảng trắng & Dòng

Ký tự & Nội dung

Ký tự: 0 → 0 · Đã bớt: 0
Thứ tự xử lý

Kết quả tính trực tiếp khi bạn gõ hoặc đổi tùy chọn, theo đúng thứ tự: (1) chuẩn hóa Unicode (NFC) và bỏ ký tự vô hình; (2) xóa số nếu bật; (3) lọc ký tự đặc biệt nếu bật; (4) xóa dấu câu và ký hiệu nếu bật; (5) bỏ khoảng trắng đầu cuối mỗi dòng nếu bật; (6) đổi tab và khoảng trắng không ngắt thành dấu cách rồi gom dấu cách thừa nếu bật; (7) xóa dòng trống nếu bật; cuối cùng luôn cắt khoảng trắng ở hai đầu toàn bộ văn bản.

Hướng dẫn nhanh ⏱ Thời gian: 1 phút

Hướng dẫn sử dụng Trình loại bỏ khoảng trắng thừa và ký tự đặc biệt

Thực hiện theo 4 bước dưới đây để loại bỏ khoảng trắng thừa, lọc ký tự không cần thiết và sao chép văn bản đã làm sạch.

Bước1

Nhập văn bản cần làm sạch

Dán hoặc nhập nội dung cần xử lý vào ô “Văn bản gốc”. Kết quả xuất hiện ngay trong ô “Văn bản đã làm sạch” mà không cần nhấn nút nào.

💡 Mẹo: Chưa có văn bản trong tay? Nhấn “Văn bản mẫu” để xem ngay một ví dụ trước và sau khi làm sạch.
Bước2

Chọn các tùy chọn làm sạch

Trong “Tùy chọn làm sạch”, chọn hoặc bỏ chọn các mục cần xử lý: khoảng trắng và dòng trống ở nhóm “Khoảng trắng & Dòng”, ký tự đặc biệt, dấu câu hoặc số ở nhóm “Ký tự & Nội dung”. Mỗi lần đổi tùy chọn, kết quả cập nhật ngay.

💡 Mẹo: Mặc định, ba tùy chọn xử lý khoảng trắng và dòng trống được bật; các tùy chọn xóa ký tự chưa được chọn.
Bước3

Kiểm tra kết quả và số ký tự đã bớt

Đọc nội dung trong ô “Văn bản đã làm sạch” và xem dòng “Ký tự: X → Y · Đã bớt: Z” bên dưới để biết đã loại bỏ bao nhiêu ký tự.

💡 Mẹo: Muốn xem chi tiết từng bước xử lý được áp dụng theo thứ tự nào, hãy mở mục “Thứ tự xử lý” ngay dưới kết quả.
Bước4

Sao chép hoặc tải văn bản đã xử lý

Nhấn “Sao chép kết quả” để sao chép văn bản đã làm sạch, hoặc “Tải .txt” để lưu thành tệp văn bản. Khi thông báo “Đã sao chép kết quả!” xuất hiện, bạn có thể dán nội dung vào nơi cần sử dụng.

💡 Mẹo: Để làm lại từ đầu, nhấn “Xóa trắng” — nội dung hai ô được xóa ngay mà không cần xác nhận, các tùy chọn làm sạch vẫn được giữ nguyên.

Nội Dung

Trình loại bỏ khoảng trắng thừa và ký tự đặc biệt là gì?

Trình loại bỏ khoảng trắng thừa và ký tự đặc biệt là công cụ xử lý văn bản thuần theo những bộ lọc do người dùng chọn. Công cụ nhận nội dung được nhập hoặc dán vào, thực hiện các phép loại bỏ hoặc thu gọn ký tự, rồi trả lại văn bản đã biến đổi. Đây không phải trình chỉnh sửa tài liệu Word hay bảng tính Excel.

Công cụ phục vụ hai nhóm nhu cầu. Nhóm thứ nhất là làm gọn khoảng trắng: thu gọn dấu cách liên tiếp, bỏ khoảng trắng đầu cuối dòng và loại bỏ dòng trống. Nhóm thứ hai là loại bỏ một số thành phần nội dung: chữ số, ký tự ngoài nhóm được giữ hoặc một tập hợp dấu câu cụ thể. Các lựa chọn này có thể bật, tắt riêng, nhưng được thực hiện theo thứ tự cố định.

Kết quả gồm văn bản đầu ra và bộ đếm độ dài. “Làm sạch” không đồng nghĩa với sửa đúng nội dung: một câu ít ký tự hơn vẫn có thể mất dấu, mất số hoặc thay đổi ý nghĩa. Công cụ không xác nhận tính chính xác của đoạn văn sau xử lý.

Bài viết giải thích hành vi được xác nhận từ mã nguồn và kiến thức nền cần thiết để chọn bộ lọc. Những vấn đề như hiệu năng thực tế, khả năng tương thích trình duyệt hay chính sách lưu dữ liệu của toàn website chưa thể được kết luận chỉ từ công cụ.

Trình loại bỏ khoảng trắng thừa và ký tự đặc biệt là công cụ xử lý văn bản thuần theo những bộ lọc do người dùng chọn, công cụ nhận nội dung được nhập hoặc dán vào, thực hiện các phép loại bỏ hoặc thu gọn ký tự, rồi trả lại văn bản đã biến đổi, đây không phải trình chỉnh sửa tài liệu Word hay bảng tính Excel, công cụ phục vụ hai nhóm nhu cầu: nhóm thứ nhất là làm gọn khoảng trắng: thu gọn dấu cách liên tiếp, bỏ khoảng trắng đầu cuối dòng và loại bỏ dòng trống; nhóm thứ hai là loại bỏ một số thành phần nội dung: chữ số, ký tự ngoài nhóm được giữ hoặc một tập hợp dấu câu cụ thể, các lựa chọn này có thể bật, tắt riêng, nhưng được thực hiện theo thứ tự cố định, kết quả gồm văn bản đầu ra và bộ đếm độ dài, làm sạch không đồng nghĩa với sửa đúng nội dung: một câu ít ký tự hơn vẫn có thể mất dấu, mất số hoặc thay đổi ý nghĩa, công cụ không xác nhận tính chính xác của đoạn văn sau xử lý, bài viết giải thích hành vi được xác nhận từ mã nguồn và kiến thức nền cần thiết để chọn bộ lọc, những vấn đề như hiệu năng thực tế, khả năng tương thích trình duyệt hay chính sách lưu dữ liệu của toàn website chưa thể được kết luận chỉ từ công cụ
Ngắn hơn không đồng nghĩa đúng hơn — một câu ít ký tự hơn vẫn có thể mất dấu, mất số hoặc thay đổi ý nghĩa.

Những thuật ngữ cần hiểu khi làm sạch văn bản

Khoảng trắng

Khoảng trắng là nhóm ký tự tạo khoảng cách trong văn bản, gồm dấu cách thông thường, tab và những dạng khác như khoảng trắng không ngắt dòng. Chúng có thể nhìn giống nhau nhưng không có cùng mã ký tự. Trong công cụ này, bước gom khoảng trắng đổi tab và các khoảng trắng Unicode thường gặp (như khoảng trắng không ngắt dòng) thành dấu cách thông thường rồi mới gom, nên những khoảng trống đó vẫn được xử lý. Vì vậy, một khoảng trống còn lại thường do ký tự khoảng trắng khác nằm ngoài phạm vi đổi này, hoặc do lựa chọn gom đang tắt.

Tab

Tab là ký tự thường dùng để thụt đầu dòng hoặc phân cách cột, khác với việc gõ nhiều dấu cách. Độ rộng hiển thị của tab phụ thuộc ứng dụng nên không thể đoán cấu trúc chỉ bằng mắt. Công cụ có thể xóa tab ở đầu cuối dòng hoặc gom chuỗi khoảng trắng chứa tab. Bản mới đổi một tab đơn nằm giữa hai phần nội dung thành một dấu cách. Với dữ liệu phân cột, thay đổi tab có thể làm mất ranh giới giữa các trường.

Dòng trống

Dòng trống là dòng không có nội dung hoặc chỉ chứa khoảng trắng. Trong văn bản thuần, nó thường được tạo bằng các dấu xuống dòng liên tiếp và có thể dùng để tách đoạn. Điều này khác với khoảng cách đoạn, giãn dòng hay khoảng trống cuối trang trong Word. Công cụ xử lý ký tự xuống dòng và khoảng trắng trong nội dung, chứ không đọc thuộc tính bố cục của tài liệu. Xóa dòng trống vì thế có thể làm sát các đoạn nhưng không sửa được mọi khoảng trống nhìn thấy trên trang.

Unicode và dấu kết hợp

Unicode là hệ thống biểu diễn chữ và ký hiệu bằng mã ký tự. Một chữ tiếng Việt có dấu có thể tồn tại dưới dạng chữ mã hóa sẵn, như “á”, hoặc chữ “a” đi kèm một dấu sắc kết hợp. Hai dạng nhìn tương tự nhưng thuộc các nhóm ký tự khác nhau. Bộ lọc đặc biệt giữ chữ cái Unicode, còn bản mới chuẩn hóa NFC trước khi lọc và giữ cả dấu kết hợp (nhóm \p{M}), nên chữ dạng tách vẫn giữ dấu sau khi lọc.

Đơn vị mã UTF-16

Đơn vị mã UTF-16 là đơn vị mà phép đo độ dài chuỗi JavaScript sử dụng trong công cụ. Nhiều chữ thông thường chiếm một đơn vị, nhưng một emoji hoặc một chữ có nhiều thành phần có thể chiếm nhiều đơn vị. Vì vậy, nhãn “Ký tự” trên giao diện không nhất thiết tương ứng với số hình chữ người đọc nhìn thấy. Bộ đếm cũng không phải số từ hay số byte; nên dùng nó để đối chiếu độ dài theo cùng một cách đo.

Những thuật ngữ cần hiểu khi làm sạch văn bản gồm khoảng trắng là nhóm ký tự tạo khoảng cách trong văn bản, gồm dấu cách thông thường, tab và những dạng khác như khoảng trắng không ngắt dòng, chúng có thể nhìn giống nhau nhưng không có cùng mã ký tự, trong công cụ này, bộ lọc gom khoảng trắng chỉ nhắm đến chuỗi dấu cách thông thường hoặc tab, không phải mọi khoảng trắng Unicode, vì vậy, một khoảng trống còn lại chưa chắc là lỗi của thao tác gom dấu cách; tab là ký tự thường dùng để thụt đầu dòng hoặc phân cách cột, khác với việc gõ nhiều dấu cách, độ rộng hiển thị của tab phụ thuộc ứng dụng nên không thể đoán cấu trúc chỉ bằng mắt, công cụ có thể xóa tab ở đầu cuối dòng hoặc gom chuỗi khoảng trắng chứa tab, bản mới đổi một tab đơn nằm giữa hai phần nội dung thành dấu cách rồi gom, với dữ liệu phân cột, thay đổi tab có thể làm mất ranh giới giữa các trường; dòng trống là dòng không có nội dung hoặc chỉ chứa khoảng trắng, trong văn bản thuần, nó thường được tạo bằng các dấu xuống dòng liên tiếp và có thể dùng để tách đoạn, điều này khác với khoảng cách đoạn, giãn dòng hay khoảng trống cuối trang trong Word, công cụ xử lý ký tự xuống dòng và khoảng trắng trong nội dung, chứ không đọc thuộc tính bố cục của tài liệu, xóa dòng trống vì thế có thể làm sát các đoạn nhưng không sửa được mọi khoảng trống nhìn thấy trên trang; Unicode và dấu kết hợp: Unicode là hệ thống biểu diễn chữ và ký hiệu bằng mã ký tự, một chữ tiếng Việt có dấu có thể tồn tại dưới dạng chữ mã hóa sẵn, như á, hoặc chữ a đi kèm một dấu sắc kết hợp, hai dạng nhìn tương tự nhưng thuộc các nhóm ký tự khác nhau, bộ lọc đặc biệt giữ chữ cái Unicode, còn bản mới chuẩn hóa NFC trước khi lọc và giữ cả dấu kết hợp (nhóm \p{M}), nên chữ dạng tách vẫn giữ dấu sau khi lọc; đơn vị mã UTF-16 là đơn vị mà phép đo độ dài chuỗi JavaScript sử dụng trong công cụ, nhiều chữ thông thường chiếm một đơn vị, nhưng một emoji hoặc một chữ có nhiều thành phần có thể chiếm nhiều đơn vị, vì vậy, nhãn Ký tự trên giao diện không nhất thiết tương ứng với số hình chữ người đọc nhìn thấy, bộ đếm cũng không phải số từ hay số byte; nên dùng nó để đối chiếu độ dài theo cùng một cách đo
Bước gom khoảng trắng đổi cả tab và khoảng trắng Unicode thường gặp thành dấu cách rồi mới gom.

Đầu vào, tùy chọn và cách đọc kết quả

Văn bản và các lựa chọn xử lý

Đầu vào là một chuỗi văn bản trong ô nhập, không phải tệp tài liệu. Có sáu lựa chọn xử lý. Ba lựa chọn bật sẵn là gom khoảng trắng thừa, bỏ khoảng trắng đầu cuối từng dòng và xóa dòng trống. Ba lựa chọn mặc định tắt là lọc ký tự đặc biệt, xóa dấu câu cơ bản và xóa số. Người dùng nên chọn theo thành phần thực sự muốn bỏ, thay vì bật toàn bộ để tìm một kết quả “sạch hơn”.

Chuỗi hoàn toàn rỗng cho kết quả rỗng ngay, vì bản mới tính trực tiếp khi gõ; nút Sao chép và Tải .txt bị vô hiệu khi chưa có kết quả. Chuỗi chỉ chứa dấu cách vẫn được xử lý và có thể trở thành kết quả rỗng. Thay văn bản đầu vào hoặc đổi lựa chọn sẽ tính lại đầu ra ngay, vì bản mới tính trực tiếp khi gõ hoặc đổi tùy chọn. Chức năng xóa trắng xóa ngay cả hai ô và đặt lại bộ đếm mà không hỏi xác nhận, và không phải chức năng phục hồi nội dung.

Ý nghĩa của văn bản đầu ra và bộ đếm

Văn bản sau xử lý xuất hiện trong ô chỉ đọc và có thể được sao chép dưới dạng văn bản thuần. Bản mới có nút “Tải .txt” để tải văn bản sau xử lý về máy, cùng nút “Văn bản mẫu”, dòng thống kê “Ký tự: X → Y · Đã bớt: Z” và mục “Thứ tự xử lý” liệt kê đúng thứ tự các bước. Kiểu chữ, màu sắc, công thức bảng tính hay định dạng tài liệu không phải thành phần đầu ra được công cụ bảo toàn.

Bộ đếm đầu vào cập nhật khi nhập; bộ đếm đầu ra cập nhật ngay cùng lúc, vì bản mới tính trực tiếp. Cả hai đo số đơn vị mã UTF-16 và hiển thị số theo định dạng tiếng Việt. Độ dài giảm chỉ cho biết chuỗi đã ngắn hơn, không chứng minh nội dung đúng hoặc đầy đủ. Nếu cần kiểm tra riêng số từ, có thể tham khảo công cụ đếm số từ và ký tự, nhưng không nên xem số đếm là đánh giá chất lượng văn bản.

Đầu vào, tùy chọn và cách đọc kết quả khi đầu vào là một chuỗi văn bản trong ô nhập, không phải tệp tài liệu, có sáu lựa chọn xử lý: ba lựa chọn bật sẵn là gom khoảng trắng thừa, bỏ khoảng trắng đầu cuối từng dòng và xóa dòng trống; ba lựa chọn mặc định tắt là lọc ký tự đặc biệt, xóa dấu câu cơ bản và xóa số, người dùng nên chọn theo thành phần thực sự muốn bỏ, thay vì bật toàn bộ để tìm một kết quả sạch hơn, chuỗi hoàn toàn rỗng cho kết quả rỗng ngay, vì bản mới tính trực tiếp khi gõ; nút Sao chép và Tải .txt bị vô hiệu khi chưa có kết quả, chuỗi chỉ chứa dấu cách vẫn được xử lý và có thể trở thành kết quả rỗng, thay văn bản đầu vào hoặc đổi lựa chọn sẽ tính lại đầu ra ngay, vì bản mới tính trực tiếp khi gõ hoặc đổi tùy chọn, chức năng xóa trắng xóa ngay cả hai ô và đặt lại bộ đếm mà không hỏi xác nhận, và không phải chức năng phục hồi nội dung; ý nghĩa của văn bản đầu ra và bộ đếm: văn bản sau xử lý xuất hiện trong ô chỉ đọc và có thể được sao chép dưới dạng văn bản thuần, bản mới có nút “Tải .txt” để tải văn bản sau xử lý về máy, cùng nút “Văn bản mẫu”, dòng thống kê “Ký tự: X → Y · Đã bớt: Z” và mục “Thứ tự xử lý” liệt kê đúng thứ tự các bước, kiểu chữ, màu sắc, công thức bảng tính hay định dạng tài liệu không phải thành phần đầu ra được công cụ bảo toàn, bộ đếm đầu vào cập nhật khi nhập; bộ đếm đầu ra cập nhật ngay cùng lúc, vì bản mới tính trực tiếp, cả hai đo số đơn vị mã UTF-16 và hiển thị số theo định dạng tiếng Việt, độ dài giảm chỉ cho biết chuỗi đã ngắn hơn, không chứng minh nội dung đúng hoặc đầy đủ, nếu cần kiểm tra riêng số từ, có thể tham khảo công cụ đếm số từ và ký tự, nhưng không nên xem số đếm là đánh giá chất lượng văn bản
Thay đầu vào hoặc đổi lựa chọn sẽ tính lại đầu ra ngay, vì bản mới tính trực tiếp khi gõ hoặc đổi tùy chọn.

Các quy tắc làm sạch được áp dụng theo thứ tự nào?

Lọc chữ số, ký tự đặc biệt và dấu câu

Ba bước đầu đều chỉ chạy khi lựa chọn tương ứng được bật, theo thứ tự:

  1. Xóa chữ số: loại bỏ mọi ký tự số Unicode (nhóm \p{N}), kể cả chữ số ở hệ chữ khác hay ký tự số dạng ², Ⅳ; đây không phải bộ lọc chỉ giữ chữ.
  2. Lọc ký tự đặc biệt: chỉ giữ chữ cái Unicode, dấu kết hợp, ký tự thuộc nhóm số Unicode và khoảng trắng được nhận diện. Dấu câu và biểu tượng bị xóa.
  3. Xóa dấu câu cơ bản: xóa mọi dấu câu và ký hiệu (nhóm Unicode \p{P} và \p{S}), gồm chấm, phẩy, chấm than, chấm hỏi, hai chấm, chấm phẩy, gạch nối, gạch chéo, ngoặc, dấu nháy và nhiều ký hiệu như phần trăm, dấu bằng.

Các ký tự bị loại bỏ được thay bằng chuỗi rỗng, không được thay bằng dấu cách. Do đó, hai phần trước đây ngăn cách bởi ký hiệu có thể dính liền. Nếu bật cả lọc ký tự đặc biệt và xóa dấu câu, nhiều dấu đã bị xóa ở bước trước nên bước sau không còn gì để loại bỏ tại những vị trí đó.

Xử lý khoảng trắng và dòng

Ba bước tùy chọn tiếp theo xử lý bố cục văn bản:

  1. Bỏ khoảng trắng ở đầu từng dòng; ở cuối từng dòng chỉ bỏ một ký tự khoảng trắng.
  2. Đổi tab và khoảng trắng Unicode thành dấu cách thông thường, rồi đổi mỗi chuỗi từ hai dấu cách trở lên thành một dấu cách.
  3. Loại bỏ dòng trống bằng cách xóa các đoạn khoảng trắng đi kèm dấu xuống dòng phù hợp.

Bỏ khoảng trắng ở mép dòng khác với gom khoảng trắng giữa nội dung. Một tab đơn giữa hai từ không đủ điều kiện để bị gom ở bước thứ hai. Ngược lại, các khoảng trắng Unicode thường gặp (như khoảng trắng không ngắt dòng) được đổi thành dấu cách rồi gom cùng dấu cách thông thường. Xóa dòng trống cũng không nối mọi dòng thành một dòng duy nhất: các dòng có nội dung vẫn có thể giữ dấu xuống dòng giữa chúng.

Vì sao tắt mọi tùy chọn vẫn có thể đổi văn bản?

Bước thứ bảy luôn thực hiện: bỏ khoảng trắng ở hai đầu toàn bộ chuỗi. Vì thế, tắt cả sáu lựa chọn vẫn không bảo đảm giữ nguyên tuyệt đối đầu vào. Khoảng trắng bên trong thường không chịu các bộ lọc đã tắt, nhưng dấu cách, tab hoặc xuống dòng ở mép ngoài có thể bị cắt. Thứ tự trên cố định, không phụ thuộc việc người dùng chọn ô nào trước.

Các quy tắc làm sạch được áp dụng theo thứ tự cố định khi lọc chữ số, ký tự đặc biệt và dấu câu: ba bước đầu đều chỉ chạy khi lựa chọn tương ứng được bật, theo thứ tự: xóa chữ số loại bỏ mọi ký tự số Unicode (nhóm \p{N}), kể cả chữ số ở hệ chữ khác hay ký tự số dạng ², Ⅳ; đây không phải bộ lọc chỉ giữ chữ; lọc ký tự đặc biệt chỉ giữ chữ cái Unicode, ký tự thuộc nhóm số Unicode và khoảng trắng được nhận diện, dấu câu, biểu tượng và dấu kết hợp ngoài các nhóm này bị xóa; xóa dấu câu cơ bản xóa một tập hợp cố định, gồm chấm, phẩy, chấm than, hai chấm, chấm phẩy, gạch nối, gạch chéo, ngoặc, dấu nháy và nhiều ký hiệu như phần trăm, dấu bằng, dấu hỏi không thuộc tập hợp này, các ký tự bị loại bỏ được thay bằng chuỗi rỗng, không được thay bằng dấu cách, do đó, hai phần trước đây ngăn cách bởi ký hiệu có thể dính liền, nếu bật cả lọc ký tự đặc biệt và xóa dấu câu, nhiều dấu đã bị xóa ở bước trước nên bước sau không còn gì để loại bỏ tại những vị trí đó; xử lý khoảng trắng và dòng: ba bước tùy chọn tiếp theo xử lý bố cục văn bản: bỏ dấu cách thông thường và tab ở đầu, cuối từng dòng; đổi mỗi chuỗi gồm ít nhất hai dấu cách thông thường hoặc tab thành một dấu cách thông thường; loại bỏ dòng trống bằng cách xóa các đoạn khoảng trắng đi kèm dấu xuống dòng phù hợp, bỏ khoảng trắng ở mép dòng khác với gom khoảng trắng giữa nội dung, một tab đơn giữa hai từ không đủ điều kiện để bị gom ở bước thứ hai, tương tự, các khoảng trắng Unicode khác không tự động thuộc phạm vi của hai bước này, xóa dòng trống cũng không nối mọi dòng thành một dòng duy nhất: các dòng có nội dung vẫn có thể giữ dấu xuống dòng giữa chúng; vì sao tắt mọi tùy chọn vẫn có thể đổi văn bản: bước thứ bảy luôn thực hiện: bỏ khoảng trắng ở hai đầu toàn bộ chuỗi, vì thế, tắt cả sáu lựa chọn vẫn không bảo đảm giữ nguyên tuyệt đối đầu vào, khoảng trắng bên trong thường không chịu các bộ lọc đã tắt, nhưng dấu cách, tab hoặc xuống dòng ở mép ngoài có thể bị cắt, thứ tự trên cố định, không phụ thuộc việc người dùng chọn ô nào trước
Dấu hỏi cũng bị xóa cùng mọi dấu câu và ký hiệu — và ký tự bị loại bỏ được thay bằng chuỗi rỗng, không phải dấu cách.

Ví dụ làm sạch văn bản và cách hiểu kết quả

Đoạn văn có khoảng trắng và dòng trống

Giả sử đầu vào là " Xin chào \n\n bạn ", trong đó \n biểu thị một lần xuống dòng, không phải hai ký tự được gõ trực tiếp. Dùng ba lựa chọn khoảng trắng mặc định và tắt cả ba bộ lọc nội dung, kết quả từ quy tắc là:

Xin chào 
bạn

Khoảng trắng ở đầu các dòng bị bỏ, ba dấu cách giữa “Xin” và “chào” trở thành một, còn dòng trống ở giữa bị loại bỏ. Ở cuối dòng đầu vẫn còn một dấu cách, vì bước bỏ khoảng trắng cuối dòng chỉ bỏ một ký tự. Hai dòng có chữ vẫn được giữ. Đầu ra dài 13 đơn vị mã UTF-16: tám đơn vị cho “Xin chào”, một cho dấu cách còn lại ở cuối dòng đầu, một cho xuống dòng và ba cho “bạn”. Đây là ví dụ suy ra từ mã.

Giá trị số và mã có ký hiệu phân cách

Với đầu vào Giá: 120.000đ?, giả sử bật xóa dấu câu cơ bản, tắt xóa số và lọc ký tự đặc biệt, đồng thời giữ nhóm khoảng trắng mặc định. Kết quả là Giá 120000đ. Dấu hai chấm, dấu chấm và dấu hỏi đều bị xóa, vì nhóm xóa dấu câu của bản mới gồm cả dấu câu và ký hiệu. Số tiền vẫn có các chữ số ban đầu nhưng không còn dấu phân cách hàng nghìn, nên hình thức trình bày đã thay đổi.

Với mã giả định mục-A/12, chỉ bật lọc ký tự đặc biệt và tắt năm lựa chọn còn lại. Kết quả là mụcA12: chữ và số còn lại, gạch nối cùng gạch chéo biến mất. Không có dấu cách mới được chèn vào. Ví dụ này cho thấy làm ngắn mã có thể làm mất cấu trúc nhận diện, dù các chữ và chữ số vẫn nguyên vẹn.

Chữ có dấu và số Unicode

Giả sử đầu vào là A1٢Ⅳ, bật xóa số và lọc ký tự đặc biệt, tắt những lựa chọn khác. Kết quả là A. Cả ba ký tự số — “1”, chữ số Ả Rập–Ấn “٢” và ký tự số La Mã Unicode “Ⅳ” — đều bị xóa ngay ở bước đầu, vì bước xóa số loại bỏ mọi ký tự thuộc nhóm số Unicode (nhóm \p{N}); không còn chữ số nào đến được bộ lọc tiếp theo.

Cuối cùng, so sánh hai đầu vào: “á” mã hóa sẵn và “a” đi kèm dấu sắc kết hợp U+0301. Khi chỉ bật lọc ký tự đặc biệt, cả hai đều cho “á”: bản mới chuẩn hóa NFC trước khi lọc nên “a” cộng dấu sắc được gộp thành “á”, và bộ lọc giữ cả dấu kết hợp (nhóm \p{M}). Hai dạng biểu diễn vì thế cho cùng một kết quả sau khi lọc.

Ví dụ làm sạch văn bản và cách hiểu kết quả với đoạn văn có khoảng trắng và dòng trống: giả sử đầu vào là hai dấu cách, Xin, ba dấu cách, chào, hai dấu cách, hai lần xuống dòng, hai dấu cách, bạn, hai dấu cách, dùng ba lựa chọn khoảng trắng mặc định và tắt cả ba bộ lọc nội dung, kết quả từ quy tắc là Xin chào ở một dòng và bạn ở dòng kế, khoảng trắng ở mép các dòng bị bỏ, ba dấu cách giữa Xin và chào trở thành một, còn dòng trống ở giữa bị loại bỏ, hai dòng có chữ vẫn được giữ, đầu ra dài 12 đơn vị mã UTF-16: tám đơn vị cho Xin chào, một cho xuống dòng và ba cho bạn, đây là ví dụ suy ra từ mã, không phải tuyên bố đã chạy thử; giá trị số và mã có ký hiệu phân cách: với đầu vào Giá: 120.000đ?, giả sử bật xóa dấu câu cơ bản, tắt xóa số và lọc ký tự đặc biệt, đồng thời giữ nhóm khoảng trắng mặc định, kết quả là Giá 120000đ, dấu hai chấm và dấu chấm bị xóa, dấu hỏi cũng bị xóa, vì nhóm xóa dấu câu của bản mới gồm cả dấu câu và ký hiệu, số tiền vẫn có các chữ số ban đầu nhưng không còn dấu phân cách hàng nghìn, nên hình thức trình bày đã thay đổi, với mã giả định mục-A/12, chỉ bật lọc ký tự đặc biệt và tắt năm lựa chọn còn lại, kết quả là mụcA12: chữ và số còn lại, gạch nối cùng gạch chéo biến mất, không có dấu cách mới được chèn vào, ví dụ này cho thấy làm ngắn mã có thể làm mất cấu trúc nhận diện, dù các chữ và chữ số vẫn nguyên vẹn; chữ có dấu và số Unicode: giả sử đầu vào là A, chữ số 1, chữ số Ả Rập Ấn 2 và ký tự số La Mã 4, bật xóa số và lọc ký tự đặc biệt, tắt những lựa chọn khác, kết quả giữ A cùng chữ số Ả Rập Ấn và ký tự La Mã, chữ số ASCII 1 bị xóa ở bước đầu, chữ số Ả Rập Ấn và ký tự số La Mã Unicode vẫn thuộc nhóm số được bộ lọc tiếp theo giữ lại; cuối cùng, so sánh hai đầu vào: á mã hóa sẵn và a đi kèm dấu sắc kết hợp U+0301, khi chỉ bật lọc ký tự đặc biệt, đầu vào thứ nhất vẫn cho á, còn đầu vào thứ hai cho a, dấu sắc kết hợp bị loại bỏ vì không thuộc nhóm chữ, số hoặc khoảng trắng, sự khác biệt xuất phát từ cách biểu diễn Unicode, không phải khả năng hiểu nghĩa tiếng Việt của công cụ
Đầu ra Xin chào và bạn dài đúng 13 đơn vị mã UTF-16 — tám cho Xin chào, một cho dấu cách cuối dòng đầu, một cho xuống dòng, ba cho bạn.

Khi nào nên dùng công cụ làm sạch văn bản?

Làm gọn đoạn văn thông thường

Công cụ phù hợp khi một đoạn văn sao chép có nhiều dấu cách lặp hoặc khoảng trắng không cần thiết ở mép dòng. Với nội dung thông thường, nên ưu tiên nhóm khoảng trắng và giữ dấu câu, chữ số nếu chúng vẫn mang thông tin. Không cần bật bộ lọc ký tự chỉ vì muốn văn bản nhìn gọn hơn.

Nếu dòng trống đang phân biệt các đoạn, hãy cân nhắc tắt xóa dòng trống. Một thư trao đổi hoặc bài viết có thể cần khoảng nghỉ giữa các ý. Trước khi xử lý, nên giữ bản gốc; sau đó đọc lại các chỗ có số liệu, ký hiệu và chuyển đoạn. Đây là cách đối chiếu do người dùng thực hiện, không phải chức năng so sánh tự động của công cụ.

Chuẩn bị nội dung để dán sang ứng dụng khác

Có thể dùng kết quả khi cần chuyển một đoạn văn thuần sang biểu mẫu, trình soạn thảo hoặc ứng dụng ghi chú. Tuy nhiên, với danh sách phân cột bằng tab, cần kiểm tra ranh giới cột trước khi dán vào bảng tính. Việc gom khoảng trắng có thể biến một chuỗi tab thành dấu cách và làm thay đổi cách ứng dụng đích chia dữ liệu.

Mã sản phẩm, địa chỉ thư điện tử, đường dẫn và số tiền cần được xem xét riêng. Ký hiệu trong những chuỗi này thường là thành phần có nghĩa, không phải phần thừa. Nên chọn bộ lọc tối thiểu đáp ứng mục đích rồi kiểm tra cả đầu ra lẫn nội dung đã dán. Không có tính năng tự phát hiện ký hiệu quan trọng được xác nhận trong mã.

Khi nào nên dùng công cụ làm sạch văn bản để làm gọn đoạn văn thông thường: công cụ phù hợp khi một đoạn văn sao chép có nhiều dấu cách lặp hoặc khoảng trắng không cần thiết ở mép dòng, với nội dung thông thường, nên ưu tiên nhóm khoảng trắng và giữ dấu câu, chữ số nếu chúng vẫn mang thông tin, không cần bật bộ lọc ký tự chỉ vì muốn văn bản nhìn gọn hơn, nếu dòng trống đang phân biệt các đoạn, hãy cân nhắc tắt xóa dòng trống, một thư trao đổi hoặc bài viết có thể cần khoảng nghỉ giữa các ý, trước khi xử lý, nên giữ bản gốc; sau đó đọc lại các chỗ có số liệu, ký hiệu và chuyển đoạn, đây là cách đối chiếu do người dùng thực hiện, không phải chức năng so sánh tự động của công cụ; chuẩn bị nội dung để dán sang ứng dụng khác: có thể dùng kết quả khi cần chuyển một đoạn văn thuần sang biểu mẫu, trình soạn thảo hoặc ứng dụng ghi chú, tuy nhiên, với danh sách phân cột bằng tab, cần kiểm tra ranh giới cột trước khi dán vào bảng tính, việc gom khoảng trắng có thể biến một chuỗi tab thành dấu cách và làm thay đổi cách ứng dụng đích chia dữ liệu, mã sản phẩm, địa chỉ thư điện tử, đường dẫn và số tiền cần được xem xét riêng, ký hiệu trong những chuỗi này thường là thành phần có nghĩa, không phải phần thừa, nên chọn bộ lọc tối thiểu đáp ứng mục đích rồi kiểm tra cả đầu ra lẫn nội dung đã dán, không có tính năng tự phát hiện ký tự quan trọng được xác nhận trong mã
Mã sản phẩm, email, đường dẫn và số tiền cần xem xét riêng — ký hiệu trong những chuỗi này thường là thành phần có nghĩa, không phải phần thừa.

Làm sạch văn bản khác gì xử lý khoảng trắng trong Word, Excel và Python?

Khoảng trắng trong nội dung và khoảng trống do định dạng

Trong Word, dấu cách gõ giữa các từ là ký tự nội dung. Giãn dòng, khoảng cách trước hoặc sau đoạn, ngắt trang và chiều cao hàng trong bảng lại thuộc bố cục tài liệu. Công cụ này chỉ xử lý chuỗi văn bản được dán vào, không chỉnh các thuộc tính đó. Vì vậy, xóa khoảng trắng thừa cuối trang hoặc giữa các trang trong Word có thể cần xử lý ngay trong tài liệu.

Trong Excel, văn bản trong ô cũng khác với cấu trúc hàng cột, định dạng ô và công thức. Công cụ không mở bảng tính hay thao tác trực tiếp lên ô. Nếu sao chép nội dung từ bảng sang đây, phần được xử lý là chuỗi đã dán; không có bảo đảm bảo toàn cấu trúc bảng khi dán ngược lại.

Xử lý từng đoạn văn và xử lý dữ liệu có cấu trúc

Ở mức khái niệm, xử lý khoảng trắng trong Python thường phân biệt thao tác bỏ khoảng trắng đầu cuối với thao tác thay chuỗi khoảng trắng bên trong. Hai thao tác có mục tiêu khác nhau; phạm vi ký tự phụ thuộc quy tắc được chọn. Không nên mặc định mọi “hàm xóa khoảng trắng thừa” đều tương đương với sáu lựa chọn của công cụ này.

Hãy chọn phương pháp theo nhu cầu: công cụ văn bản phù hợp với một đoạn cần làm gọn; thao tác trong Word phù hợp khi cần giữ và sửa bố cục; công thức hoặc chương trình phù hợp hơn cho xử lý lặp lại trên dữ liệu có cấu trúc. Không có tích hợp tự động giữa công cụ này với Word, Excel hoặc Python được xác nhận.

Làm sạch văn bản khác gì xử lý khoảng trắng trong Word, Excel và Python khi khoảng trắng trong nội dung và khoảng trống do định dạng: trong Word, dấu cách gõ giữa các từ là ký tự nội dung, giãn dòng, khoảng cách trước hoặc sau đoạn, ngắt trang và chiều cao hàng trong bảng lại thuộc bố cục tài liệu, công cụ này chỉ xử lý chuỗi văn bản được dán vào, không chỉnh các thuộc tính đó, vì vậy, xóa khoảng trắng thừa cuối trang hoặc giữa các trang trong Word có thể cần xử lý ngay trong tài liệu; trong Excel, văn bản trong ô cũng khác với cấu trúc hàng cột, định dạng ô và công thức, công cụ không mở bảng tính hay thao tác trực tiếp lên ô, nếu sao chép nội dung từ bảng sang đây, phần được xử lý là chuỗi đã dán; không có bảo đảm bảo toàn cấu trúc bảng khi dán ngược lại; xử lý từng đoạn văn và xử lý dữ liệu có cấu trúc: ở mức khái niệm, xử lý khoảng trắng trong Python thường phân biệt thao tác bỏ khoảng trắng đầu cuối với thao tác thay chuỗi khoảng trắng bên trong, hai thao tác có mục tiêu khác nhau; phạm vi ký tự phụ thuộc quy tắc được chọn, không nên mặc định mọi hàm xóa khoảng trắng thừa đều tương đương với sáu lựa chọn của công cụ này, hãy chọn phương pháp theo nhu cầu: công cụ văn bản phù hợp với một đoạn cần làm gọn; thao tác trong Word phù hợp khi cần giữ và sửa bố cục; công thức hoặc chương trình phù hợp hơn cho xử lý lặp lại trên dữ liệu có cấu trúc, không có tích hợp tự động giữa công cụ này với Word, Excel hoặc Python được xác nhận
Giãn dòng và ngắt trang trong Word thuộc bố cục tài liệu — công cụ chỉ xử lý chuỗi văn bản được dán vào, không chỉnh các thuộc tính đó.

Những giới hạn cần kiểm tra trước khi dùng kết quả

Mất thông tin và khác biệt Unicode

Rủi ro chính là xóa đúng ký tự theo bộ lọc nhưng sai với mục đích sử dụng. Dấu phân cách số, ký hiệu trong mã, tab phân cột và dòng trống phân đoạn đều có thể mang thông tin. Chữ dùng dấu kết hợp được giữ dấu khi lọc ký tự đặc biệt nhờ bước chuẩn hóa NFC. Công cụ không sửa chính tả, không khôi phục phần đã loại bỏ và không có chức năng hoàn tác được xác nhận.

Công cụ xử lý các khoảng trắng vô hình thường gặp theo hai cách: ký tự zero-width (như U+200B) bị xóa hẳn ngay từ đầu, còn khoảng trắng không ngắt dòng (NBSP) được đổi thành dấu cách rồi gom cùng dấu cách thông thường khi bật gom khoảng trắng. Nếu đoạn văn vẫn trông bất thường, cần xác định loại ký tự thay vì liên tục bật thêm bộ lọc có thể làm mất nội dung khác.

Sao chép, văn bản dài và quyền riêng tư

Cơ chế sao chép phụ thuộc khả năng của trình duyệt. Bản mới sao chép bằng Clipboard API kèm phương án dự phòng và chỉ báo thành công khi sao chép thật sự xong; nếu thất bại, thông báo nêu rõ việc sao chép không thành công và gợi ý chọn văn bản rồi sao chép thủ công. Với đầu ra rỗng, nút Sao chép bị vô hiệu nên không có thao tác sao chép nào chạy.

Không có giới hạn độ dài được khai báo trong phần mã cung cấp, nhưng điều đó không chứng minh công cụ xử lý tốt văn bản lớn tùy ý. Hiệu năng và tương thích thực tế chưa được xác minh. Tương tự, không thể kết luận toàn website không truyền hoặc lưu dữ liệu chỉ từ đoạn xử lý này. Nên tránh đưa thông tin nhạy cảm khi chưa rõ chính sách của website.

Những giới hạn cần kiểm tra trước khi dùng kết quả gồm mất thông tin và khác biệt Unicode: rủi ro chính là xóa đúng ký tự theo bộ lọc nhưng sai với mục đích sử dụng, dấu phân cách số, ký hiệu trong mã, tab phân cột và dòng trống phân đoạn đều có thể mang thông tin, chữ dùng dấu kết hợp được giữ dấu khi lọc ký tự đặc biệt nhờ bước chuẩn hóa NFC, công cụ không sửa chính tả, không khôi phục phần đã loại bỏ và không có chức năng hoàn tác được xác nhận, công cụ đổi các khoảng trắng vô hình thường gặp (NBSP, ký tự zero-width) thành dấu cách trước khi gom, chẳng hạn, khoảng trắng không ngắt dòng giữa nội dung được đổi thành dấu cách rồi gom cùng dấu cách thông thường, nếu đoạn văn vẫn trông bất thường, cần xác định loại ký tự thay vì liên tục bật thêm bộ lọc có thể làm mất nội dung khác; sao chép, văn bản dài và quyền riêng tư: cơ chế sao chép phụ thuộc khả năng của trình duyệt, bản mới sao chép bằng Clipboard API kèm phương án dự phòng và chỉ báo thành công khi sao chép thật sự xong; nếu thất bại, thông báo nêu rõ việc sao chép không thành công, với đầu ra rỗng, thao tác sao chép không đưa nội dung mới vào bảng nhớ tạm, không có giới hạn độ dài được khai báo trong phần mã cung cấp, nhưng điều đó không chứng minh công cụ xử lý tốt văn bản lớn tùy ý, hiệu năng và tương thích thực tế chưa được xác minh, tương tự, không thể kết luận toàn website không truyền hoặc lưu dữ liệu chỉ từ đoạn xử lý này, nên tránh đưa thông tin nhạy cảm vào khi chưa rõ chính sách của website
Ký tự zero-width bị xóa hẳn, còn khoảng trắng không ngắt dòng được đổi thành dấu cách rồi gom cùng dấu cách thông thường.

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

Công cụ có xóa được khoảng trắng thừa cuối trang trong Word không?

Không trực tiếp, nếu khoảng trống đó xuất phát từ định dạng trang hoặc đoạn trong Word. Công cụ chỉ có thể xử lý dấu cách và xuống dòng thuộc phần văn bản bạn dán vào. Khoảng trống cuối trang có thể liên quan đến ngắt trang, khoảng cách đoạn hoặc bố cục bảng, nên cần xác định nguyên nhân trong tài liệu. Dán nội dung qua công cụ rồi dán lại cũng không bảo đảm giữ định dạng ban đầu; nên lưu một bản tài liệu trước khi thay thế nội dung.

Có thể gom dấu cách nhưng vẫn giữ các dòng trống giữa đoạn không?

Có. Bạn có thể bật gom khoảng trắng và tắt xóa dòng trống để giữ khoảng cách giữa các đoạn ở bên trong văn bản. Nếu chỉ muốn bỏ phần thụt dòng ngoài ý muốn, có thể chọn thêm bỏ khoảng trắng đầu cuối từng dòng. Tuy nhiên, các dòng trống ở đầu hoặc cuối toàn bộ chuỗi vẫn có thể bị loại bỏ bởi bước cắt khoảng trắng cuối cùng luôn chạy. Vì vậy, giữ dòng trống giữa đoạn không đồng nghĩa bảo toàn mọi khoảng trắng ở mép ngoài.

Bản mới xóa dấu câu như thế nào, dấu hỏi có bị xóa không?

Bản mới không còn giữ dấu hỏi: nhóm xóa dấu câu gồm mọi dấu câu và ký hiệu (Unicode P+S), nên dấu hỏi bị xóa cùng dấu hai chấm và dấu chấm. Nếu muốn giữ dấu hỏi, hãy tắt lựa chọn xóa dấu câu và chỉ dùng các bộ lọc khác.

Vì sao một số chữ tiếng Việt bị mất dấu khi lọc ký tự đặc biệt?

Nguyên nhân có thể là dấu được lưu dưới dạng ký tự kết hợp riêng, thay vì nằm trong một chữ cái mã hóa sẵn. Ở bản cũ, bộ lọc chỉ giữ chữ cái Unicode nên phần dấu kết hợp bị xóa; bản mới chuẩn hóa NFC và giữ dấu kết hợp nên trường hợp này không còn xảy ra. Hai chữ trông giống nhau trên màn hình vì thế có thể phản ứng khác nhau. Nếu cần bảo toàn tiếng Việt, hãy giữ bản gốc và kiểm tra đầu ra; không nên bật bộ lọc này chỉ để thu gọn dấu cách.

Tại sao vẫn còn ký tự số sau khi chọn xóa toàn bộ số?

Bản mới xóa mọi ký tự số Unicode (nhóm \p{N}) khi bật xóa số, kể cả chữ số ở hệ chữ khác. Số còn sót lại thường do lựa chọn xóa số chưa được bật, hoặc ký tự đó không thuộc nhóm số (ví dụ chữ cái có nét giống số). Với dữ liệu đa ngôn ngữ, vẫn nên kiểm tra đầu ra theo loại ký tự thực tế.

Tắt tất cả tùy chọn có giữ nguyên hoàn toàn văn bản không?

Không. Sau những bước tùy chọn, công cụ vẫn luôn cắt khoảng trắng ở hai đầu toàn bộ văn bản. Nếu đầu vào bắt đầu hoặc kết thúc bằng dấu cách, tab hay xuống dòng thuộc phạm vi được nhận diện, những phần đó có thể mất dù cả sáu ô đều tắt. Nội dung bên trong không bị các bộ lọc đã tắt xử lý, nhưng đó vẫn không phải chế độ sao chép nguyên trạng. Nếu cần giữ chính xác chuỗi, nên dùng bản gốc thay vì kết quả qua công cụ.

Đã hiện thông báo sao chép nhưng không dán được thì nên kiểm tra gì?

Trước tiên, kiểm tra ô đầu ra có nội dung và có đúng kết quả mới nhất hay không. Sau đó thử dán vào một ô văn bản đơn giản để phân biệt vấn đề sao chép với hạn chế của ứng dụng đích. Ở bản mới, thông báo thành công chỉ hiện khi sao chép thật sự xong; nếu thấy thông báo thất bại, hãy chọn nội dung trong ô kết quả và dùng thao tác sao chép thông thường của trình duyệt. Nếu vẫn không dán được, có thể chọn nội dung trong ô kết quả và dùng thao tác sao chép thông thường của trình duyệt, rồi kiểm tra lại phần vừa dán.

Tài liệu tham khảo

Bình luận vui vẻ - Yêu cầu nâng cấp

Cáo trợ lý