Теперь вы можете использовать Intl.Segmenter
для сегментации текста с учетом локали, чтобы разделить строку на слова, предложения или графемы.
Во многих нелатинских языках, таких как китайский и японский, для разделения слов не используются пробелы. Таким образом, использование метода JavaScript split()
для разделения текста на слова приведет к неверным результатам.
При создании нового объекта Intl.Segmenter
с помощью конструктора Intl.segmenter()
передайте locale
и параметры, включая granularity
, которые могут иметь значения "grapheme"
, "word"
или "sentence"
. В следующем примере создается новый объект Intl.Segmenter
для японского языка с разделением по словам.
const segmenter = new Intl.Segmenter('ja-JP', { granularity: 'word' });
Вызов метода segment()
для объекта Intl.Segmenter
со строкой текста возвращает итерируемый объект:
const segments = segmenter.segment(str);
console.table(Array.from(segments));
Прочтите «Использование API Intl.Segmenter» в блоге Polypane, чтобы получить отличное руководство по использованию этой функции.
Международная сегментация текста с помощью Intl.Segmenter в JavaScript содержит больше примеров, в том числе, как использовать Intl.Segmenter
с эмодзи.