Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Intl.Segmenter() Konstruktor

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.

Der Intl.Segmenter() Konstruktor erstellt Intl.Segmenter Objekte.

Probieren Sie es aus

const segmenterFr = new Intl.Segmenter("fr", { granularity: "word" });
const string = "Que ma joie demeure";

const iterator = segmenterFr.segment(string)[Symbol.iterator]();

console.log(iterator.next().value.segment);
// Expected output: 'Que'

console.log(iterator.next().value.segment);
// Expected output: ' '

Syntax

js
new Intl.Segmenter()
new Intl.Segmenter(locales)
new Intl.Segmenter(locales, options)

Hinweis: Intl.Segmenter() kann nur mit new konstruiert werden. Der Versuch, ihn ohne new aufzurufen, führt zu einem TypeError.

Parameter

locales Optional

Ein String mit einem BCP 47 Sprach-Tag oder einer Intl.Locale Instanz oder ein Array solcher Locale-Identifikatoren. Die Standard-Locale der Laufzeitumgebung wird verwendet, wenn undefined übergeben wird oder wenn keiner der angegebenen Locale-Identifikatoren unterstützt wird. Für die allgemeine Form und Interpretation des locales Arguments siehe die Parameterbeschreibung auf der Intl Hauptseite.

options Optional

Ein Objekt, das die folgenden Eigenschaften enthält, in der Reihenfolge, in der sie abgerufen werden (alle sind optional):

localeMatcher

Der zu verwendende Locale-Abgleichalgorithmus. Mögliche Werte sind "lookup" und "best fit"; der Standardwert ist "best fit". Informationen zu dieser Option finden Sie unter Locale-Identifikation und -Verhandlung.

granularity

Wie granular die Eingabe aufgeteilt werden soll. Mögliche Werte sind:

"grapheme" (Standard)

Teilt die Eingabe in Segmente an Graphem-Cluster-Grenzen (benutzerwahrgenommenes Zeichen) auf, wie von der Locale bestimmt.

"word"

Teilt die Eingabe in Segmente an Wortgrenzen auf, wie von der Locale bestimmt.

"sentence"

Teilt die Eingabe in Segmente an Satzgrenzen auf, wie von der Locale bestimmt.

Rückgabewert

Eine neue Instanz von Intl.Segmenter.

Ausnahmen

RangeError

Wird ausgelöst, wenn locales oder options ungültige Werte enthalten.

Beispiele

Grundlegende Verwendung

Das folgende Beispiel zeigt, wie man Wörter in einem String in der japanischen Sprache zählt (wo das Aufteilen des Strings mit String Methoden ein falsches Ergebnis geliefert hätte).

js
const text = "吾輩は猫である。名前はたぬき。";
const japaneseSegmenter = new Intl.Segmenter("ja-JP", { granularity: "word" });
console.log(
  [...japaneseSegmenter.segment(text)].filter((segment) => segment.isWordLike)
    .length,
);
// 8, as the text is segmented as '吾輩'|'は'|'猫'|'で'|'ある'|'。'|'名前'|'は'|'たぬき'|'。'

Spezifikationen

Specification
ECMAScript® 2026 Internationalization API Specification
# sec-intl-segmenter-constructor

Browser-Kompatibilität