Sie können jetzt Intl.Segmenter
für die länderspezifische Textsegmentierung verwenden, um einen String in Wörter, Sätze oder Grapheme aufzuteilen.
In vielen nicht-lateinischen Sprachen wie Chinesisch und Japanisch werden keine Leerzeichen zum Trennen der Wörter verwendet. Wenn Sie also die JavaScript-Methode split()
für Leerzeichen verwenden, um Text in Wörter aufzuteilen, werden daher falsche Ergebnisse zurückgegeben.
Übergeben Sie beim Erstellen eines neuen Intl.Segmenter
-Objekts mit dem Konstruktor Intl.segmenter()
einen locale
und Optionen, einschließlich granularity
, die die Werte "grapheme"
, "word"
oder "sentence"
haben können. Im folgenden Beispiel wird ein neues Intl.Segmenter
-Objekt für Japanisch erstellt, bei dem nach Wörtern aufgeteilt wird.
const segmenter = new Intl.Segmenter('ja-JP', { granularity: 'word' });
Wenn Sie die Methode segment()
für ein Intl.Segmenter
-Objekt mit einem Textstring aufrufen, wird ein iterierbarer Wert zurückgegeben:
const segments = segmenter.segment(str);
console.table(Array.from(segments));
Ein hervorragendes Tutorial zur Verwendung dieser Funktion finden Sie im Polypane-Blog unter Using the Intl.Segmenter API (Intl.Segmenter API verwenden).
Internationale Textsegmentierung mit Intl.Segmenter in JavaScript enthält weitere Beispiele, einschließlich der Verwendung von Intl.Segmenter
mit Emojis.