Files
1hew-ComfyUI-1hewNodes/web/docs/1hew_TextCustomExtract/zh.md
T
2025-11-18 18:35:12 +08:00

40 lines
2.3 KiB
Markdown

# Text Custom Extract - 文本结构化提取
**节点功能:** `Text Custom Extract` 从 JSON 或类 JSON 文本中按目标 `key` 提取值。支持稳健的输入清理、多重解析回退、增强键名同义处理、可选精确匹配与基于标签的过滤。
## 输入
| 参数名称 | 入端选择 | 数据类型 | 默认值 | 取值范围 | 描述 |
| -------- | -------- | -------- | ------ | -------- | ---- |
| `json_data` | - | STRING | `` | - | JSON 或类 JSON 文本;会清理代码块包裹与 JSON 外的冗余内容。 |
| `key` | - | STRING | `zh` | - | 目标键名(支持同义变体)。 |
| `precision_match` | - | COMBO | `disabled` | `disabled` / `enabled` | 当启用时采用精确匹配;否则进行不区分大小写且兼容同义变体的匹配。 |
| `label_filter` | - | STRING | `` | - | 可选的逗号分隔标签过滤(支持中英文)。 |
## 输出
| 输出名称 | 数据类型 | 描述 |
|---------|----------|------|
| `string` | STRING | 提取的值;当为数值列表时以逗号连接;输入为对象数组时各项以换行拼接。 |
## 功能说明
- 输入清理:移除 Markdown 代码块包裹,截取首个完整的 JSON 片段。
- 多策略解析:尝试 `json.loads`,回退到 `ast.literal_eval`、引号规范化与正则键值提取。
- 同义键增强:内置 `bbox`、`label`、`confidence`、`x`、`y`、`width`、`height`、`zh`、`en` 等变体。
- 标签过滤:对对象或对象数组按 `label` 字段进行可选过滤。
- 精确匹配:启用时严格按键名匹配;禁用时进行同义与不区分大小写匹配。
- 值格式化:数值列表以逗号连接;其他列表按字符串化输出。
- 核心逻辑:清理;解析;同义;查找;格式;过滤;主执行。
## 典型用法
- 简单提取:设置 `key=zh` 从对象或数组中提取中文文本。
- 同义匹配:设置 `key=bbox` 兼容匹配 `bbox`、`box`、`bounding_box` 等变体。
- 标签过滤:设置 `label_filter=person,cat` 仅保留标签包含 `person` 或 `cat` 的条目。
- 精确匹配:设置 `precision_match=enabled` 仅按提供的键名进行精确查找。
## 注意与建议
- 节点接受被 Markdown 代码块包裹的 JSON,并自动裁剪 JSON 外的冗余文本。
- 当输入为对象数组时,匹配到的值会以换行拼接形成输出。