def parse_markdown(self, markdown_text, title):
self.logger.info(markdown_text)
print(markdown_text)
result = {"result": []}
children = result["result"]
current_level = 0
lines = markdown_text.split('\n')
for line in lines:
# 使用正则表达式匹配 Markdown 标题
match = re.match(r'^(#{2,})\s+(.*)$', line.strip())
if match:
level = len(match.group(1))
_title = match.group(2)
if _title in title:
continue
# 调整层级
if current_level >= level:
children = result["result"]
for _ in range(level-2):
children = children[-1]["children"]
# 添加新标题
new_title = {"title": _title, "children": []}
children.append(new_title)
children = new_title["children"]
current_level = level
result = {"title": title, "children": result["result"]}
return json.dumps(result, ensure_ascii=False)
if __name__ == '__main__':
res = llm_base_qa_outline_service.parse_markdown('''
# 月船三号任务分析
## 任务背景
## 任务目标
## 任务执行情况
### 任务准备工作
### 任务执行过程
### 任务结果分析
## 任务意义与影响
## 启示建议
### 加强月球探测技术研究与应用
### 推动国际合作,共同探索月球资源
### 提高月球探测任务的可持续性
## 参考文献''',
"月船三号任务结果分析")
print(res)
网友评论