Intl.Segmenter : méthode segment()
Baseline
2024
Nouvellement disponible
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.
La méthode segment() des instances de Intl.Segmenter segmente une chaîne de caractères selon la locale et la granularité de cet objet Intl.Segmenter.
Exemple interactif
const string1 = "Que ma joie demeure";
const segmenterFrGrapheme = new Intl.Segmenter("fr", {
granularity: "grapheme",
});
const graphemeSegments = segmenterFrGrapheme.segment(string1);
console.log(Array.from(graphemeSegments)[0]);
// Résultat attendu :
// Object {segment: 'Q', index: 0, input: 'Que ma joie demeure'}
Syntaxe
js
segment(input)
Paramètres
input-
Le texte à segmenter sous la forme d'une chaîne de caractères.
Valeur de retour
Un nouvel objet itérable Segments qui contient les segments de la chaîne de caractères fournie en entrée et dont le découpage suit la locale et la granularité fournies par le segmenteur.
Exemples
js
// On crée un segmenteur propre à une locale
const segmenter = new Intl.Segmenter("fr", { granularity: "word" });
// On l'utilise pour obtenir un itérateur sur les segments
// d'une chaîne de caractères
const input = "Moi ? N'est-ce pas ?";
const segments = segmenter.segment(input);
// Et on parcourt cet ensemble
for (const { segment, index, isWordLike } of segments) {
console.log(
"segment situé aux unités [%d, %d]: «%s»%s",
index,
index + segment.length,
segment,
isWordLike ? " (type mot)" : "",
);
}
// Affiche dans la console
// segment situé aux unités [0, 3]: «Moi» (type mot)
// segment situé aux unités [3, 4]: « »
// segment situé aux unités [4, 5]: «?»
// segment situé aux unités [5, 6]: « »
// segment situé aux unités [6, 11]: «N'est» (type mot)
// segment situé aux unités [11, 12]: «-»
// segment situé aux unités [12, 14]: «ce» (type mot)
// segment situé aux unités [14, 15]: « »
// segment situé aux unités [15, 18]: «pas» (type mot)
// segment situé aux unités [18, 19]: « »
// segment situé aux unités [19, 20]: «?»
Spécifications
| Spécification |
|---|
| ECMAScript® 2027 Internationalization API Specification> # sec-intl.segmenter.prototype.segment> |