您现在可以使用
Intl.Segmenter
用于将字符串拆分为字词、句子、
或字形。
浏览器支持
- <ph type="x-smartling-placeholder">
- <ph type="x-smartling-placeholder">
- <ph type="x-smartling-placeholder">
- <ph type="x-smartling-placeholder">
许多非拉丁语系的语言,如中文和日语,
不要使用空格分隔字词。因此,使用 JavaScript split()
方法将文本拆分为单词,会返回错误的结果。
使用Intl.Segmenter
Intl.segmenter()
构造函数,
传入 locale
和选项,包括 granularity
,
具有的值为 "grapheme"
、"word"
或 "sentence"
。以下
示例会为日语创建一个新的 Intl.Segmenter
对象,并按单词进行拆分。
const segmenter = new Intl.Segmenter('ja-JP', { granularity: 'word' });
调用
segment()
针对带有文本字符串的 Intl.Segmenter
对象调用该方法
返回一个可迭代对象:
const segments = segmenter.segment(str);
console.table(Array.from(segments));
阅读使用 Intl.Segmenter API ,了解有关如何使用该功能的优秀教程。
在 JavaScript 中使用 Intl.Segmenter 进行国际文本分割
提供更多示例,包括如何将 Intl.Segmenter
与表情符号搭配使用。