Intl.Segmenter()-Konstruktor
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.
Der Intl.Segmenter()
-Konstruktor erstellt Intl.Segmenter
-Objekte.
Probieren Sie es aus
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: ' '
Syntax
Parameter
locales
Optional-
Ein String mit einem BCP 47 Sprach-Tag oder eine
Intl.Locale
Instanz, oder ein Array solcher Sprach-Identifikatoren. Die Standard-Locale des Laufzeitsystems wird verwendet, wennundefined
übergeben wird oder wenn keiner der angegebenen Sprach-Identifikatoren unterstützt wird. Für die allgemeine Form und Interpretation deslocales
-Arguments siehe die Parameterbeschreibung auf derIntl
Hauptseite. options
Optional-
Ein Objekt, das die folgenden Eigenschaften in der Reihenfolge ihrer Abfrage enthält (alle sind optional):
localeMatcher
-
Der Locale-Vergleichsalgorithmus, der verwendet werden soll. Mögliche Werte sind
"lookup"
und"best fit"
; der Standardwert ist"best fit"
. Für Informationen zu dieser Option siehe Locale-Erkennung und Verhandlung. granularity
-
Wie granular der Eingabetext aufgeteilt werden soll. Mögliche Werte sind:
"grapheme"
(Standard)-
Teilt den Eingabetext an den Grenzen von Grapheme-Clustern (von Benutzern wahrgenommene Zeichen), wie durch die Locale bestimmt.
"word"
-
Teilt den Eingabetext an Wortgrenzen, wie durch die Locale bestimmt.
"sentence"
-
Teilt den Eingabetext an Satzgrenzen, wie durch die Locale bestimmt.
Rückgabewert
Eine neue Intl.Segmenter
-Instanz.
Ausnahmen
RangeError
-
Wird ausgelöst, wenn
locales
oderoptions
ungültige Werte enthalten.
Beispiele
Grundlegende Verwendung
Das folgende Beispiel zeigt, wie man mit der japanischen Sprache Wörter in einem String zählt (wobei das Aufteilen des Strings mit String
-Methoden ein falsches Ergebnis geliefert hätte).
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® 2025 Internationalization API Specification # sec-intl-segmenter-constructor |