Obiekt Intl.Segmenter jest teraz częścią elementu Baseline

Możesz teraz używać Intl.Segmenter do podziału tekstu na segmenty według języka, aby podzielić ciąg znaków na słowa, zdania lub grafemy.

Obsługa przeglądarek

  • 87
  • 87
  • 125
  • 14.1

Źródło

W wielu językach opartych na alfabecie innym niż łaciński, np. chiński i japoński, wyrazy nie są rozdzielone spacjami. Dlatego użycie metody split() JavaScriptu do odstępów i podziału tekstu na słowa zwróci nieprawidłowe wyniki.

Podczas tworzenia nowego obiektu Intl.Segmenter za pomocą konstruktora Intl.segmenter() przekaż instrukcję locale i opcje takie jak granularity, które mogą mieć wartości "grapheme", "word" lub "sentence". Poniższy przykład pokazuje utworzenie nowego obiektu Intl.Segmenter w języku japońskim, dzieląc go na słowa.

const segmenter = new Intl.Segmenter('ja-JP', { granularity: 'word' });

Wywołanie metody segment() w obiekcie Intl.Segmenter z ciągiem tekstu zwraca element powtarzalny:

const segments = segmenter.segment(str);
console.table(Array.from(segments));

Przeczytaj artykuł Korzystanie z interfejsu Intl.Segmenter API na blogu Polypane, aby uzyskać doskonały samouczek na temat korzystania z tej funkcji.

International Text Segmentation with Intl.Segmenter w JavaScript zawiera więcej przykładów, w tym jak używać funkcji Intl.Segmenter z emotikonami.