未知格式文件文本提取咨询:识别格式及纯文本转换方案
格式识别与纯文本转换方案
一、格式识别
这是经过HTML转义的JSON格式:
- 其中的
"是HTML对双引号的转义字符,全局替换为"后即可得到标准JSON结构 - 该JSON属于富文本内容的结构化存储,常见于CMS(内容管理系统)或富文本编辑器(如Slate、ProseMirror)的输出,每个节点包含三个核心字段:
type:节点类型(如段落paragraph、链接link)attributes:样式属性(如对齐方式align-left)content:节点内容(可能是纯文本或嵌套子节点)
二、纯文本转换方案与工具
1. 批量自动化转换
用脚本可以高效完成批量文件的文本提取,以Python为例:
import json def extract_plain_text(node): # 递归遍历节点,提取所有纯文本内容 if isinstance(node, list): return ''.join(extract_plain_text(item) for item in node) elif isinstance(node, dict): # 链接节点直接提取链接显示文本 if node.get('type') == 'link': return extract_plain_text(node['content']) return extract_plain_text(node.get('content', [])) else: # 纯文本节点直接返回内容 return node # 处理原始转义内容示例 raw_data = '''{"content":[{"type":"paragraph","attributes":{"class":"align-left"},"content":["У Посольстві України в Республіці Польща 8 листопада було підписано Угоду між урядом України та урядом Монголії про взаємне скасування віз."]},{"type":"paragraph","attributes":{"class":"align-left"},"content":["“Ми підписали угоду, яка дозволяє громадянам України подорожувати без віз до Монголії. Це означає, що громадяни України можуть в’їжджати до Монголії без віз на 90 днів упродовж 180 днів” - ",{"type":"link","attributes":{"href":"https://www.facebook.com/UkraineMFA/posts/2498886686831903","target":"_blank","rel":null},"content":["повідомляє сторінка МЗС у Facebook"]}," із посиланям на посла України у Польщі Андрія Дещицю."]},{"type":"paragraph","attributes":{"class":"align-left"},"content":["Як підкреслив Дещиця, підписана угода важлива ще й тому, що до сьогоднішнього дня між Україною і Монголією діяла угода 1979 року, яка була підписана свого часу між СРСР і Монгольською Народною Республікою, а потім була підтверджена українським урядом."]}]}''' # 还原转义的双引号 json_content = raw_data.replace('"', '"') # 解析JSON并提取纯文本 parsed_data = json.loads(json_content) plain_text = extract_plain_text(parsed_data['content']) print(plain_text)
2. 手动快速转换
- 用文本编辑器全局替换
"为",得到标准JSON - 借助JSON格式化工具整理结构后,手动提取各
content字段的纯文本内容
3. 相关参考文档
这类结构化富文本格式的设计逻辑参考自主流富文本编辑器的Schema规范:
- Slate编辑器:采用节点化的富文本存储结构,与该格式高度匹配
- ProseMirror编辑器:同样以「节点+属性」的方式存储富文本内容
内容的提问来源于stack exchange,提问作者Sir Cornflakes
相关产品推荐
相关产品推荐

