Vous pouvez désormais utiliser
Intl.Segmenter
pour la segmentation du texte en fonction des paramètres régionaux afin de diviser une chaîne en mots, phrases,
ou graphèmes.
Navigateurs pris en charge
- <ph type="x-smartling-placeholder">
- <ph type="x-smartling-placeholder">
- <ph type="x-smartling-placeholder">
- <ph type="x-smartling-placeholder">
De nombreuses langues non latines, telles que le chinois et le japonais,
n'utilisez pas d'espace pour séparer les mots. Par conséquent, l'utilisation du code JavaScript split()
sur les espaces blancs pour diviser le texte en mots, renvoie des résultats incorrects.
Lorsque vous créez un objet Intl.Segmenter
avec
Intl.segmenter()
,
transmettre un locale
et des options, y compris granularity
, qui peuvent
avoir les valeurs "grapheme"
, "word"
ou "sentence"
. Les éléments suivants :
L'exemple crée un objet Intl.Segmenter
pour le japonais, en les divisant en fonction des mots.
const segmenter = new Intl.Segmenter('ja-JP', { granularity: 'word' });
En appelant la méthode
segment()
sur un objet Intl.Segmenter
avec une chaîne de texte
renvoie un itérable:
const segments = segmenter.segment(str);
console.table(Array.from(segments));
Découvrez comment utiliser l'API Intl.Segmenter. sur le blog de Polypane pour découvrir un excellent tutoriel sur l'utilisation de cette fonctionnalité.
Segmentation internationale de texte avec Intl.Segmenter en JavaScript
contient d'autres exemples, y compris comment utiliser Intl.Segmenter
avec des emoji.