Giờ đây, bạn có thể dùng Intl.Segmenter
cho phân đoạn văn bản theo ngôn ngữ/ngôn ngữ nhằm chia một chuỗi thành các từ, câu hoặc biểu đồ.
Nhiều ngôn ngữ không phải tiếng La-tinh, chẳng hạn như tiếng Trung và tiếng Nhật, không sử dụng dấu cách để phân tách các từ. Do đó, việc sử dụng phương thức split()
của JavaScript trên khoảng trắng để chia văn bản thành các từ sẽ trả về kết quả không chính xác.
Khi tạo một đối tượng Intl.Segmenter
mới bằng hàm khởi tạo Intl.segmenter()
, hãy truyền vào locale
và các tuỳ chọn bao gồm granularity
. Các tuỳ chọn này có thể có giá trị "grapheme"
, "word"
hoặc "sentence"
. Ví dụ sau đây sẽ tạo một đối tượng Intl.Segmenter
mới cho tiếng Nhật, phân tách bằng các từ.
const segmenter = new Intl.Segmenter('ja-JP', { granularity: 'word' });
Việc gọi phương thức segment()
trên đối tượng Intl.Segmenter
có một chuỗi văn bản sẽ trả về một phương thức lặp lại:
const segments = segmenter.segment(str);
console.table(Array.from(segments));
Hãy đọc bài viết Sử dụng API Intl.Segmenter trên blog Polypan để biết hướng dẫn chi tiết về cách sử dụng tính năng này.
Phân đoạn văn bản quốc tế bằng Công cụ phân đoạn quốc tế trong JavaScript có thêm ví dụ, bao gồm cả cách sử dụng Intl.Segmenter
với biểu tượng cảm xúc.