把字符串拆成用户感知的字符单元。
这里的“字符”不是 UTF-16 code unit,也不是单个 Unicode code point,而是 Unicode grapheme cluster。 现代运行时优先使用 Intl.Segmenter({ granularity: 'grapheme' });如果运行时不支持, 会退回到内置 fallback,覆盖常见 emoji、国旗、组合音标、Indic conjunct、Hangul Jamo 等高风险边界。
Intl.Segmenter({ granularity: 'grapheme' })
被拆分的字符串。
按用户感知字符拆分后的数组。
0.2.0
splitUnicodeCharacters('A😀🇯🇵e\u0301') // ['A', '😀', '🇯🇵', 'é'] Copy
splitUnicodeCharacters('A😀🇯🇵e\u0301') // ['A', '😀', '🇯🇵', 'é']
把字符串拆成用户感知的字符单元。
这里的“字符”不是 UTF-16 code unit,也不是单个 Unicode code point,而是 Unicode grapheme cluster。 现代运行时优先使用
Intl.Segmenter({ granularity: 'grapheme' });如果运行时不支持, 会退回到内置 fallback,覆盖常见 emoji、国旗、组合音标、Indic conjunct、Hangul Jamo 等高风险边界。