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

Teraz możesz używać Intl.Segmenter segmentacji tekstu z uwzględnieniem języka, aby podzielić ciąg znaków na słowa, zdania lub grafemy.

Obsługa przeglądarek

  • Chrome: 87.
  • Edge: 87.
  • Firefox: 125.
  • Safari: 14.1

Źródło

Wiele języków innych niż łaciński, takich jak chiński i japoński, Nie używaj spacji do oddzielania słów. Dlatego za pomocą funkcji split() JavaScript na odstępach od spacji, aby podzielić tekst na słowa, zwróci nieprawidłowe wyniki.

Podczas tworzenia nowego obiektu Intl.Segmenter z parametrem konstruktora Intl.segmenter(), w locale i opcjach, w tym granularity, które mogą mają wartości "grapheme", "word" lub "sentence". Poniżej tworzy nowy obiekt Intl.Segmenter dla języka japońskiego z podziałem na słowa.

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

Wywołuję metodę segment() na obiekcie Intl.Segmenter z ciągiem tekstowym zwraca iteracja:

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

Przeczytaj artykuł Korzystanie z interfejsu Intl.Segmenter API. na blogu Polypane.

Międzynarodowa segmentacja tekstu za pomocą narzędzia Intl.Segmenter w języku JavaScript zawiera więcej przykładów, w tym instrukcje używania Intl.Segmenter z emotikonami.