Appearance
文本流分段器,用于将连续输入的文本片段按语言规则切分为可消费的段落数组。适合流式输出、语音合成前置分段、聊天消息分片等场景。
安装
bash
pnpm add @mingto/text-stream-slicer快速开始
typescript
import TextStreamSplitter from '@mingto/text-stream-slicer'
const splitter = new TextStreamSplitter()
const result1 = splitter.processText('你好,这是第一段。这里还有')
const result2 = splitter.processText('第二段内容。', true)
console.log(result1)
console.log(result2)也可以使用命名导出:
typescript
import { TextStreamSplitter } from '@mingto/text-stream-slicer'
const splitter = new TextStreamSplitter()API
processText(text, includeRemaining?)
同步处理输入文本片段,返回当前可输出的段落数组。
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
text | string | - | 本次输入的文本片段 |
includeRemaining | boolean | false | 是否已无后续文本。传入 true 时会尽量输出剩余缓存内容 |
typescript
const splitter = new TextStreamSplitter()
splitter.processText('第一句。第二')
splitter.processText('句。', true)处理流程
文本处理过程包括以下步骤:
- 文本去噪:移除非法字符与多余空白
- 文本预处理:处理流式输入尾部的歧义内容
- 文本替换:识别并替换特殊语义单元
- 段落构建:按句末标点与长度规则拆分段落
- 段落清洗:过滤空段与无意义段
支持的文本特征
- 中文字符与中文标点
- 英文单词与英文标点
- 数字与小数点
- 中英文混合文本
- 流式输入中的不完整尾部文本
包主入口导出 TextStreamSplitter 类,同时提供默认导出。