Constructeur Intl.Segmenter()
Baseline
2024
Newly available
Depuis April 2024, cette fonctionnalité fonctionne sur les appareils et les versions de navigateur les plus récents. Elle peut ne pas fonctionner sur les appareils ou navigateurs plus anciens.
Le constructeur Intl.Segmenter() crée un objet Intl.Segmenter permettant la segmentation d'un texte selon la locale.
Exemple interactif
const segmenterFr = new Intl.Segmenter("fr", { granularity: "word" });
const string1 = "Que ma joie demeure";
const iterator1 = segmenterFr.segment(string1)[Symbol.iterator]();
console.log(iterator1.next().value.segment);
// Expected output: 'Que'
console.log(iterator1.next().value.segment);
// Expected output: ' '
Syntaxe
new Intl.Segmenter();
new Intl.Segmenter(locales);
new Intl.Segmenter(locales, options);
Paramètres
localesFacultatif-
Une chaîne qui est une balise de langue BCP 47 ou un tableau de telles chaînes. Pour la forme générale et l'interprétation de cet argument, voir la page
Intl. optionsFacultatif-
Un objet avec une ou plusieurs des propriétés suivantes :
granularityFacultatif-
Une chaîne de caractères qui peut valoir :
"grapheme"(la valeur par défaut)-
Découpe la chaîne en groupes de graphèmes (grapheme cluster) (ce qui correspond aux caractères perçus pour la personne qui lit), comme déterminé par la locale.
"word"-
Découpe la chaîne en segments aux limites de mots, comme déterminé par la locale.
"sentence"-
Découpe la chaîne en segments aux limites de phrases, comme déterminé par la locale.
localeMatcherFacultatif-
L'algorithme de correspondance des locales à utiliser. Les valeurs possibles sont :
"best fit"(la valeur par défaut)-
L'environnement d'exécution peut éventuellement choisir une locale plus adaptée que celle fournie par l'algorithme utilisé par
"lookup". "lookup"-
Utilise l'algorithme de recherche BCP 47 pour choisir la locale à partir de
locales. Pour chaque locale contenue danslocales, l'environnement d'exécution renvoie la première locale prise en charge (en retirant éventuellement des sous-étiquettes de l'étiquette de locale fournie afin d'en sélectionner une prise en charge ; autrement dit, si on fournit"de-CH"pourlocales, cet algorithme pourra fournir"de"en résultat si"de"est prise en charge mais que"de-CH"ne l'est pas).
Valeur de retour
Une nouvelle instance de Intl.Segments.
Exemples
>Utilisation simple
Dans l'exemple suivant, on compte les mots d'une chaîne en japonais (où le découpage de la chaîne à l'aide des méthodes de String aurait fourni un résultat incorrect).
const text = "吾輩は猫である。名前はたぬき。";
const japaneseSegmenter = new Intl.Segmenter("ja-JP", { granularity: "word" });
console.log(
[...japaneseSegmenter.segment(text)].filter((segment) => segment.isWordLike)
.length,
);
// affiche 8 car le texte est segmenté en '吾輩'|'は'|'猫'|'で'|'ある'|'。'|'名前'|'は'|'たぬき'|'。'
Spécifications
| Specification |
|---|
| ECMAScript® 2026 Internationalization API Specification> # sec-intl-segmenter-constructor> |
Compatibilité des navigateurs
Chargement…