Chia Tách Văn Bản
Chia văn bản theo dấu phân cách, số ký tự, từ, dòng, câu hay đoạn. Đánh số phần, cắt khoảng trắng. Miễn phí, riêng tư ngay trên trình duyệt.
Về Công Cụ Chia Tách Văn Bản
Chia Tách Văn Bản tách văn bản đầu vào thành các phần có thứ tự bằng một trong bảy chiến lược: dấu phân cách literal (bất kỳ chuỗi nào bạn cung cấp, gồm cả chuỗi escape như \t hay \n), số ký tự cố định, số từ cố định (token phân cách bằng khoảng trắng), số dòng cố định, biên câu (dấu chấm câu cuối . ! ? theo sau khoảng trắng), biên đoạn (một hay nhiều dòng trống làm dấu phân cách), và chuỗi tùy chỉnh đầy đủ. Mỗi chiến lược được cài như String.prototype.split() với dấu phân cách phù hợp, hoặc một cửa sổ trượt cho chia theo kích thước. Tùy chọn áp cho mọi chế độ: 'Xóa Khoảng Trắng' gọi String.trim() trên mỗi phần trước khi xuất, 'Xóa Phần Trống' lọc bỏ kết quả độ dài 0 (hữu ích khi dấu phân cách liên tiếp như ',,'), và 'Đánh Số Các Phần' thêm '1. ', '2. ' trước mỗi phần đầu ra. Dấu phân cách đầu ra điều khiển cách các phần được nối để hiển thị — dòng đôi cho phân cách trực quan rõ, phẩy-cách cho đầu ra kiểu CSV, gạch ngang cho dấu phân chia nhìn thấy được. Quy trình điển hình: chia nội dung SMS thành phần 160 ký tự để gửi nhiều phần, tách bài viết dài thành phần 280 ký tự cho thread X/Twitter, chia văn bản cho cửa sổ ngữ cảnh LLM (ví dụ biên 4096 token qua số từ), chia CSV dán dạng một ô thành nhiều hàng, tách bản ghi log nối liền theo dấu thời gian, và xử lý nhập hàng loạt nơi một đầu vào đại diện cho nhiều bản ghi.
Chia theo số ký tự khác gì với số từ và nên dùng cái nào cho SMS hay tweet?
Chia theo số ký tự cắt ở biên byte/đơn vị mã UTF-16 chính xác — phần 3 dừng ở ký tự 480 ngay cả khi rơi giữa từ. Chia theo số từ cắt ở token khoảng trắng, nên 'xin chào bạn' với phần 2 cho 'xin chào' + 'bạn'. Cho SMS (160 ký tự GSM-7 hay 70 ký tự UCS-2 cho emoji), dùng số ký tự để tránh tràn. Cho tweet (280 ký tự, nhưng Twitter đếm emoji là 2), số ký tự hoạt động nhưng nên thêm dấu 'tiếp theo (1/3)' qua Đánh Số. Cho cửa sổ ngữ cảnh LLM (dựa trên token, ~4 ký tự mỗi token tiếng Anh), số từ gần với thực tế hơn.
Chia theo câu xử lý đúng các viết tắt như 'Dr.' và 'Mr.' không?
Một phần — regex dùng heuristic chia ở '. ', '! ', hay '? ' theo sau bằng chữ hoa. Điều này xử lý đúng hầu hết văn xuôi nhưng chia sai ở 'Dr. Smith', 'U.S.A.', '3.14 là', và 'Mr. Brown nói'. Cho phân đoạn câu cấp nghiên cứu dùng công cụ NLP chuyên dụng (spaCy, NLTK, hay tokenizer của HuggingFace). Cho chia thông thường bài blog, bài viết, hay transcript, heuristic hoạt động ~95% thời gian. Nếu có pattern viết tắt biết trước, thay nó bằng placeholder trước ('Dr.' → 'Dr@') dùng Thay Thế Từ, chia, rồi khôi phục.
Chia theo đoạn coi cái gì là biên đoạn?
Một hay nhiều dòng trống (khớp bởi regex /\n\s*\n+/) hoạt động như biên đoạn. Nên 'đoạn một\n\nđoạn hai' cho hai phần. Dấu xuống dòng đơn trong cùng đoạn được giữ như phần của cùng phần. Điều này khớp quy ước markdown và hành vi Enter-Enter của Word. Nếu đầu vào dùng '\r\n\r\n' kiểu Windows, vẫn hoạt động vì \r là khoảng trắng. Nếu không có dòng trống, chế độ đoạn trả về toàn bộ đầu vào như một phần — dùng chia theo số dòng thay vào đó.

Có thể dùng ký tự đặc biệt như tab hay xuống dòng làm dấu phân cách không?
Có — gõ chuỗi escape trực tiếp: \t cho tab, \n cho xuống dòng, \r cho carriage return, \u00A0 cho khoảng trắng không ngắt. Công cụ diễn giải chúng lúc phân tích. Cho dấu gạch chéo ngược literal gõ \\. Để chia trên pattern regex (không phải chuỗi literal), dùng công cụ Thay Thế Từ trước để thay khớp regex bằng marker duy nhất như '@@SPLIT@@', rồi chia ở đây trên '@@SPLIT@@'. Cách hai bước này cho sức mạnh regex đầy đủ mà không làm phức tạp UI bộ chia.
'Xóa Khoảng Trắng' thực sự làm gì với phần có khoảng trắng bên trong?
Chỉ cắt khoảng trắng đầu và cuối của mỗi phần, giữ khoảng trắng bên trong. Nên 'xin chào ' thành 'xin chào' (cắt ở hai đầu, khoảng trắng đôi ở giữa giữ lại). Điều này khớp String.trim() JavaScript và str.strip() Python. Để cô đặc cả khoảng trắng bên trong, chạy đầu ra qua Làm Sạch Văn Bản sau. Cắt đặc biệt hữu ích với chia theo dấu phân cách khi một ký tự phân cách có thể gồm khoảng trắng cuối (', '), để lại khoảng trắng lẻ ở biên phần.
Tại sao 'Xóa Phần Trống' có thể trả về ít phần hơn mong đợi?
Phần trống xuất hiện khi dấu phân cách liên tiếp (',,' cho '', '' giữa chúng), khi đầu vào bắt đầu hay kết thúc bằng dấu phân cách (',a,b' cho '', 'a', 'b'), hay khi chế độ kích thước cố định đụng biên trống chính xác. Với Xóa Trống bật, bộ lọc bỏ mọi phần độ dài 0 trước khi xuất. Nếu muốn giữ chúng (ví dụ đại diện cho cột CSV thiếu nơi trống nghĩa là null), tắt tùy chọn. Bộ đếm Tổng Số Phần hiển thị số sau lọc, không phải số chia thô.
Việc chia có thực hiện trong trình duyệt không và văn bản của tôi có riêng tư không?
Có, mọi chia chạy trong JavaScript qua String.split() và map/filter mảng — không fetch() lên server, không analytics chứa nội dung, không ghi localStorage. Mở tab Network DevTools và nhấp Chia để xác minh 0 request ra ngoài. Điều này làm công cụ an toàn cho chia văn bản bảo mật như tài liệu nội bộ, PII khách hàng, mã nguồn với logic độc quyền, hay bản nháp tiền xuất bản cấm. Ngay cả đầu vào 10 MB chia phía client trong dưới một giây.
