---
title: "Intl.Segmenter 分词:国际化排版与搜索高亮"
keywords:
- Intl.Segmenter
- 分词
- grapheme
- word
- line
description: "介绍 Intl.Segmenter 的分词能力与粒度选择(字素/单词/行),用于国际化排版、游标移动与搜索高亮,提供示例与工程建议。"
categories:
- 应用软件
- 系统工具
---
概述
Intl.Segmenter 基于语言规则对文本进行分段,支持 granularity: 'grapheme'|'word'|'line'。适用于中英等多语言场景下的准确分词、高亮与选择。
示例
const seg = new Intl.Segmenter('zh-CN', { granularity: 'word' })
for (const s of seg.segment('欢迎使用Segmenter进行分词')) {
console.log(s.segment, s.index)
}
工程建议
- 语言选择:按内容语言设置 locale;对多语言内容进行分段策略切换。
- 交互与性能:缓存分段结果用于搜索/高亮;避免在输入每次变动时全量分段。
- 兼容与回退:不支持时回退到简单规则或第三方库;保持体验一致。
参考与验证
- MDN Intl.Segmenter 文档:https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Intl/Segmenter
- ECMA-402 规范:https://tc39.es/ecma402/#segmenter-objects
- Chrome 平台文档:https://developer.chrome.com/docs/web-platform/intl-segmenter/

发表评论 取消回复