Объект Intl.Segmenter теперь является частью Baseline.

Теперь вы можете использовать Intl.Segmenter для сегментации текста с учетом локали и разделения строки на слова, предложения или графемы.

Поддержка браузера

  • 87
  • 87
  • 125
  • 14.1

Источник

Во многих нелатинских языках, таких как китайский и японский, для разделения слов не используются пробелы. Поэтому использование метода 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 с эмодзи.