Constructeur Intl.Segmenter()
Baseline 2024Newly available
Since April 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
Le constructeur Intl.Segmenter()
crée un objet Intl.Segmenter
permettant la segmentation d'un texte selon la locale.
Exemple interactif
Syntaxe
new Intl.Segmenter();
new Intl.Segmenter(locales);
new Intl.Segmenter(locales, options);
Paramètres
locales
Facultatif-
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
. options
Facultatif-
Un objet avec une ou plusieurs des propriétés suivantes :
granularity
Facultatif-
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.
localeMatcher
Facultatif-
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® 2025 Internationalization API Specification # sec-intl-segmenter-constructor |
Compatibilité des navigateurs
BCD tables only load in the browser