Intl.Segmenter

Baseline 2024
Newly available

Since April 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

L'objet Intl.Segmenter permet de segmenter un texte en tenant compte de la locale. On peut ainsi obtenir les éléments utiles (graphèmes, mots ou phrases) d'une chaîne de caractères.

Exemple interactif

Constructeur

Intl.Segmenter()

Crée un nouvel objet Intl.Segmenter.

Méthodes statiques

Intl.Segmenter.supportedLocalesOf()

Renvoie un tableau contenant les locales prises en charge, parmi celles fournies en argument, sans avoir à recourir à la locale par défaut de l'environnement par défaut.

Méthodes des instances

Intl.Segmenter.prototype.resolvedOptions()

Renvoie un nouvel objet dont les propriétés reflètent la locale et la granularité calculées lors de l'initialisation de cet objet Intl.Segmenter.

Intl.Segmenter.prototype.segment()

Renvoie une nouvelle instance Segments itérable qui représente les segments de la chaîne de caractères selon la locale et la granularité portées par cette instance Intl.Segmenter.

Exemples

Utilisation simple et différence avec String.prototype.split()

En utilisant String.prototype.split(" ") pour segmenter un texte en mots, on n'obtient pas le bon résultat si la locale du texte n'utilise pas d'espace entre les mots (ce qui est le cas pour le japonais, le chinois, le thaïlandais, le laotien, le khmer, le birman, etc.).

js
const str = "吾輩は猫である。名前はたぬき。";
console.table(str.split(" "));
// ['吾輩は猫である。名前はたぬき。']
// Les deux phrases ne sont pas segmentées correctement.
js
const str = "吾輩は猫である。名前はたぬき。";
const segmenterJa = new Intl.Segmenter("ja-JP", { granularity: "word" });

const segments = segmenterJa.segment(str);
console.table(Array.from(segments));
// [{segment: '吾輩', index: 0, input: '吾輩は猫である。名前はたぬき。', isWordLike: true},
// etc.
// ]

Spécifications

Specification
ECMAScript® 2025 Internationalization API Specification
# segmenter-objects

Compatibilité des navigateurs

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
Segmenter
Segmenter() constructor
resolvedOptions
segment
supportedLocalesOf

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support