> For AI agents: the complete documentation index is available at /llms.txt, the full documentation bundle is available at /llms-full.txt.

# 多功能文本处理

[多功能文本处理](https://tools.newzone.top/zh/text-toolbox)（Multi-Function Text Processor）把日常最常用的清洗、提取、格式化操作集中在一个页面上。它的核心不是"一堆按钮各点各的"，而是**操作目录 + 步骤链**：每点一个操作就往链尾加一步，链从上往下执行，上一步的输出就是下一步的输入，结果实时算出来。

![多功能文本处理界面](/img/text-toolbox-zh.webp "多功能文本处理使用界面")

## 这个工具能解决什么问题？

- **提取特定内容**：从大段文本里找出网址、JSON 键名、特定模式的字段
- **清理冗余信息**：删广告行、去引用残留、去空行、整行去重
- **整理终端复制的文本**：去掉 Claude Code / 终端输出的引用竖线和硬折行，还原成可粘贴的整段
- **批量格式化**：给每行加前缀后缀，转成 Markdown 列表、CSV、SQL `IN (...)`
- **统一大小写**：全部大写 / 全部小写 / 词首大写 / 句首大写
- **数据排序整理**：升降序、反转、相邻行交换
- **多行并一行**：用任意连接符把一列内容接成单行
- **多步组合任务**：先删行、再正则、最后加前后缀——一次点齐，链帮你跑完

## 页面结构

两栏布局。左栏自上而下：

1. **原文**面板 —— 输入 / 上传 / 智能清理开关 / 清空
2. **处理结果**面板 —— 只读结果，上方一行是步骤链的步骤标签
3. **PRESET**（预设）—— 选择预设、存为预设、更新预设、删除预设
4. **LINES**（逐行整理）—— 排序 / 重复行 / 删行 / 合并 / 每行加字
5. **CASE**（大小写转换）—— 四个转换按钮

右栏：

- **REGEX**（正则引擎）—— 正则框、常用预设、匹配模式、替换、执行匹配 / 移除匹配内容 / 提取链接与互动数、配对提取
- **FORMAT**（转换）—— 智能分段、格式化文本、命令行文本整理、JSON 美化、微博链接转换

宽度不足 960px 时塌成单列。高频的行操作和大小写转换放在离结果最近的地方，更专项的正则与格式转换收进右栏，避免把结果区顶出屏幕。

## 原文区

- **粘贴**：直接把内容粘进「原文」框（占位提示「或在此输入、粘贴文本」）
- **文件上传**：点面板头部的「点击或将文件拖拽至此上传」，支持 TXT、MD、JSON、CSV 等文本格式；上传后文件名显示为标签，可单独删除
- **智能清理 / 原始模式**：面板头部的开关。开着时（默认）绝大多数操作执行前先剪掉每行首尾空格、跳过空行；关掉显示「原始模式」，保留原始行结构
- **清空**：同时清掉输入内容与已上传文件，步骤链一起清空
- 面板底部实时显示「字符 · 行」统计

超过约 100 万字符时输入框转为只读并给出提示，但处理与导出仍按全文进行。

## 步骤链

链是这个工具的主干，理解它就没必要记按钮顺序：

- **加一步 = 点一个操作按钮**。点下去的那一刻，控制台各输入框的当前值会被**快照**进这一步；之后再改输入框不会回头影响已经加好的步骤。
- **执行顺序就是点击顺序**，从上往下。`evaluateChain` 从原文开始，每步的输出喂给下一步，所以链上连着点五步不等于要手动跑五遍。
- **异步步骤串行等待**：「智能分段」和「微博链接转换」需要联网或分句，链会等它们算完再走下一步。
- **原文永不被改写**：所有操作只读原文、写结果。
- 链的可见形态是结果区上方一行步骤标签（chip），左边写「已应用 N 步」，右边有「清除步骤」。每个标签显示「操作名 · 参数摘要」，例如 `删行 · 广告,推广`、`每行加字 · 1000----`。
- **点标签弹出该步的参数浮层**，改完立刻只影响这一步；标签右侧的 `×` 是「撤掉这一步」。
- **没有拖拽排序**：想调顺序就 `×` 掉再按想要的次序重点一遍，或者点「结果 ➔ 原文」把当前结果变成新起点重做。
- **校验不过就不入链**：比如「删掉这些行」在关键词为空时、正则为空或非法时，点了只弹提示，不会往链上加一步。
- 链存在浏览器 localStorage 的 `text-toolbox-chain` 里，刷新后还在；读回时认不出的操作会被整条丢弃，缺的参数用出厂默认补齐。

:::tip 什么时候用「结果 ➔ 原文」
链是一次性的表达：调参数、删步骤都能改。只有当你想把当前结果当作**新的输入**、另起一串完全不同的处理时才用它——它会清空步骤链，把结果写回原文。
:::

## PRESET 预设

预设就是**存下来的步骤链**（含每一步自己的参数），用来一键复用常见组合。

- **选择预设**：下拉里每项第二行预览该预设的步骤序列（超过四步折成 `… +N`）
- **存为预设**：链非空时可用，弹窗填「预设名称」后保存
- **更新预设 / 删除预设**：只对你自己存的预设开放
- 载入预设是**替换**当前链，不是追加
- 链和你载入的预设不一致时，下拉会显示「已修改（原：某某）」提醒你还没存回去
- 出厂内置三条，不可改不可删：
  - **提取链接并倒序** —— 执行匹配（宽松 URL）› 反转顺序 › 合并为一行（连接符 `,`）
  - **提取 URL 并去重排序** —— 执行匹配（严格 URL）› 去重 › 排序（升序）
  - **HuggingFace 转 ModelScope** —— 执行替换：`https://huggingface.co` → `https://modelscope.cn/models`
- 用户预设与当前选中项分别存在 localStorage 的 `text-toolbox-presets` 和 `text-toolbox-activePresetId`；**预设不支持导入导出**，换浏览器要重新组

:::warning 改链之前先想清楚
内置预设不可修改，是为了保证「别人写的链」不会在你手里悄悄变味。想改造它，载入后存成一个新名字，而不是覆盖。
:::

## LINES 逐行整理

带标题写明这一带有什么：**逐行整理：排序 · 删行 · 去重 · 合并 · 加字**。每行左侧是参数、右侧是动词，整行读成「用这个条件 → 做这件事」。

### 排序

- **升序排列 / 降序排列**：按 Unicode 字符串顺序排序，按钮显示的是下一次会按哪个方向排，点一下翻转
- **反转顺序**：行顺序前后颠倒
- **相邻行交换**：两两交换相邻行。先删空行（剩下的行数必须是偶数，否则报错），交换后在每对之间插回一个空行。适用于数值在链接上一行、后面要接「提取链接与互动数」的场景

### 删行

一个条件框喂一个按钮：**删行 · \[匹配方式] · \[内容] → 删掉这些行**。

- **匹配方式**（分段控件）：
  - **含这些词**：行里出现任一关键词就删（子串匹配）
  - **整行相同**：整行完全一样才删（忽略首尾空格）
- **要删掉的内容**：多个条件用**逗号或换行**分隔（如 `广告,推广,群号`），内容本地保存
- **删掉这些行**：命中删掉、其余保留，结果输出到结果区，不改原文

### 去重

- **去重**：整行相同的只保留第一条，保留空行
- 它**不读上面「删行」的条件框**，所以单独占一行、不带输入框

### 合并

- **合并为一行**：把多行接成一行
- **连接符**：用什么把各行连起来，**留空即直接相接**，支持 `\t`、`\n`、`\s`、`\\` 等转义字符
- 例：连接符填 `, ` → 一列清单变成 `A, B, C`；填 `\t` → 变成可直接粘进 Excel 一行的制表符分隔串

### 每行加字

- **前缀**框：每行开头加的内容，出厂默认是 `1000----`（可直接清空）
- **后缀**框：每行结尾加的内容，出厂默认为空
- 这一行的按钮叫**应用**，「每行加字」是行标签
- 示例：前缀 `- `、后缀空 → 纯文本一键转成 Markdown 列表
- 示例：前缀 `'`、后缀 `',` → 字符串列表转成 SQL `IN (...)` 子句

## CASE 大小写转换

一个操作、四个快捷按钮，对全文逐行生效，不动空行与缩进：

- **全部大写** / **全部小写**
- **词首大写**：每个单词首字母大写（Title Case）
- **句首大写**：每句首字母大写，其余转小写（Sentence case）

## REGEX 正则引擎

控件自上而下：

- **正则输入框**（占位「输入正则表达式…」）：任意 JavaScript 正则，出厂默认是严格 URL 匹配
- **常用预设**：四个标签，点一下填入对应正则并带上该预设需要的标志
  - **URL（无参数）**：标准 `https://` 链接，不带尾部标点
  - **URL（宽松匹配）**：兼容括号、分号等更多场景
  - **去序号（.、）**：行首的 `1. `、`2、`、`3) `
  - **提取 JSON 键名**：多行模式下抓所有键名
- **匹配模式**：全局匹配 (g) / 多行模式 (m) / 忽略大小写 (i)，出厂只有 g 开着
- **替换**：「替换为…」框 + **执行替换** 按钮。替换内容是**字面量**，不做 `$1` 分组引用
- **执行匹配**：把命中内容逐行列出
- **移除匹配内容**：删掉命中部分、其余保留，并把连续换行压到两个
- **提取链接与互动数**：按 7 个**中文**指标词（点赞 / 转发 / 评论 / 播放 / 差 / 曝光 / 阅读）分组，每行输出「链接,数值」——只对含这些中文词的文本有效
- **配对提取**：**提取并配对** 按钮 + 「配对正则」「模板」两个框。锚点用上方那个共用正则框（不再单独一个输入框），逐行取第一个匹配，再用配对正则在同一行的锚点之外抓取，按模板输出，`$0` 是锚点全文、`$1` 是配对捕获组；配对值全是数字时结果里另附合计

## FORMAT 转换

- **智能分段**：长文按段重排，旁边用分段控件选 **中文分段 / 英文分段**（英文用 `compromise` 识别句边界，中文走段落规则）
- **格式化文本**：移除空行，并按「智能清理」开关决定是否 trim 每行首尾空格
- **命令行文本整理**：专治从 Claude Code / 终端复制的文本——去掉行首引用竖线（`▎ ▌ │`）与缩进，把按终端宽度硬折的行合回整段（中文直接拼接、英文补单空格），列表项与代码块逐行保留。**这是唯一依赖空行的操作**，所以链上如果前面有会丢空行的步骤，点它时会当场提示「上一步已丢弃空行，本步无法按段落分段」
- **JSON 美化**：宽容解析（未加引号的键、单引号、注释都认）+ 2 空格缩进重排
- **微博链接转换**：把手机版微博（`m.weibo.cn`）链接批量转成 PC 端 `weibo.com` 链接并附博主主页。只含 uid 的链接可本地推导，详情页要联网解析 uid/bid；没解析出来的条目会在结果文本里逐条标注原因（链接不含 uid / 页面未匹配到 uid/bid / 网络请求失败 / 不是已识别的微博链接）

:::tip 微博转换要联网
「微博链接转换」的详情页解析需要发请求，因此较慢，链会等它跑完再走下一步。离线或网络受限时这一步会失败，链上其余步骤照常工作。「智能分段」不联网，它慢是因为要逐句判断边界。
:::

## 结果区

- 标题是**处理结果**，永远只读（底部有锁标与「只读模式」说明）。想改内容就改原文或调步骤，而不是直接在结果里编辑
- 链为空时，宽屏会显示一个空槽提示「点下方的操作，结果会出现在这里」
- 三个动作从左到右：**结果 ➔ 原文**（把结果写回原文并清除步骤）、**复制**、**导出**（存为 `text-processed.txt`）
- 底部同样显示「字符 · 行」统计

## 使用建议

- 先按**目标倒推顺序**：要「清洗后加前后缀」，就点 删行 → 去重 → 每行加字，别点完再加
- 常用组合存成预设，下次一键载入；内置那三条直接可用
- 处理重要数据前先用一小段试跑，看清每步标签上的参数摘要是否符合预期
- 写不出正则时让 AI 帮忙：给需求、一段输入样例、期望输出
- 组合任务优先用链，而不是反复点「结果 ➔ 原文」——后者会清掉步骤

工具完全在浏览器本地运行，**不上传任何数据**（除「微博链接转换」需要联网解析），可放心处理敏感信息。
