L'oggetto Intl.Segmenter ora fa parte di Baseline

Ora puoi utilizzare Intl.Segmenter per la segmentazione del testo sensibile alle impostazioni internazionali per suddividere una stringa in parole, frasi o grafemi.

Supporto dei browser

  • 87
  • 87
  • 125
  • 14.1

Fonte

Molte lingue non latine, come il cinese e il giapponese, non utilizzano gli spazi per separare le parole. Pertanto, l'utilizzo del metodo split() di JavaScript sullo spazio vuoto per suddividere il testo in parole, restituirà risultati errati.

Quando crei un nuovo oggetto Intl.Segmenter con il costruttore Intl.segmenter(), passa un locale e le opzioni tra cui granularity, che può avere valori di "grapheme", "word" o "sentence". L'esempio seguente crea un nuovo oggetto Intl.Segmenter per il giapponese, suddividendolo in base alle parole.

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

La chiamata del metodo segment() su un oggetto Intl.Segmenter con una stringa di testo restituisce un iterabile:

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

Leggi Using the Intl.Segmenter API (Utilizzo dell'API Intl.Segmenter) sul blog Polypane per un tutorial eccellente su come utilizzare questa funzionalità.

La segmentazione internazionale di testo con Intl.Segmenter in JavaScript contiene altri esempi, tra cui l'utilizzo di Intl.Segmenter con le emoji.