Ora puoi utilizzare Intl.Segmenter
per la segmentazione del testo sensibile alle impostazioni internazionali per suddividere una stringa in parole, frasi o grafemi.
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.