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 utilizzare spazi per separare le parole. Di conseguenza, l'utilizzo del metodo JavaScript split()
su uno spazio vuoto per suddividere il testo in parole, restituirà risultati errati.
Quando crei un nuovo oggetto Intl.Segmenter
con
costruttore di Intl.segmenter()
,
passare in locale
e opzioni tra cui granularity
, che possono
hanno valori di "grapheme"
, "word"
o "sentence"
. Le seguenti
Ad esempio, viene creato un nuovo oggetto Intl.Segmenter
per il giapponese, suddividendolo in base alle parole.
const segmenter = new Intl.Segmenter('ja-JP', { granularity: 'word' });
Chiamata a
segment()
su un oggetto Intl.Segmenter
con una stringa di testo
restituisce un'istruzione iterabile:
const segments = segmenter.segment(str);
console.table(Array.from(segments));
Leggi l'articolo Utilizzo dell'API Intl.Segmenter sul blog di Polypane per un eccellente tutorial su come usare questa funzionalità.
Segmentazione internazionale del testo con Intl.Segmenter in JavaScript
contiene altri esempi, tra cui l'utilizzo di Intl.Segmenter
con le emoji.