Python中文
首页
教程
问答
标签
搜索
登录
注册
如何解析标记的文本以进行进一步处理?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p><strong>请参阅Edit-1中更新的输入和输出数据。</strong></p> <p>我要做的是转向</p> <pre> + 1 + 1.1 + 1.1.1 - 1.1.1.1 - 1.1.1.2 + 1.2 - 1.2.1 - 1.2.2 - 1.3 + 2 - 3 </pre> <p>在python数据结构中,例如</p> ^{pr2}$ <p>我看过许多不同的wiki标记语言、markdown、重组文本等等,但是它们对于我来说都是非常复杂的,因为它们必须包含大量的标记和语法(我只需要其中的“list”部分,但当然要转换成python而不是html)</p> <p>我还研究了标记器、lexer和解析器,但它们比我需要的复杂得多,而且我可以理解。在</p> <p>我不知道从哪里开始,希望能在这个问题上提供任何帮助。谢谢</p> <p><strong>Edit-1</strong>:是的,从之前和现在的所需输出来看,行开头的字符很重要,可以看出<strong><code>*</code></strong>表示具有子节点的根节点,<strong>+</strong>有子节点,<strong>-</strong>没有子节点(根节点或其他节点),只是与该节点相关的额外信息。<strong><code>*</code></strong>并不重要,可以与<strong>+</strong>交换(我可以通过其他方式获得根状态)</p> <p>因此,新的需求将只使用<strong><code>*</code></strong>来表示有或没有子节点的节点,<strong>-</strong>不能有子节点。我还更改了它,所以关键不是<strong><code>*</code></strong>后面的文本,因为这无疑会在以后更改为实际标题。在</p> <p>例如</p> <pre> * 1 * 1.1 * 1.2 - Note for 1.2 * 2 * 3 - Note for root </pre> <p>会给予</p> <pre><code>[{'title': '1', 'children': [{'title': '1.1', 'children': []}, {'title': '1.2', 'children': []}]}, {'title': '2', 'children': [], 'notes': ['Note for 1.2', ]}, {'title': '3', 'children': []}, 'Note for root'] </code></pre> <p>或者,如果您有另一个想法来用python表示大纲,那么就把它提出来。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>因为您处理的是一个大纲情况,所以可以通过使用堆栈来简化事情。基本上,您需要创建一个堆栈,它的<code>dict</code>与轮廓的深度相对应。当您分析一个新行并且轮廓的深度增加时,您将一个新的<code>dict</code>推送到堆栈顶部的前一个{<cd1>}所引用的堆栈上。当您分析一个深度较低的行时,您将弹出堆栈以返回父级。当您遇到一条具有相同深度的线时,将其添加到堆栈顶部的<code>dict</code>。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
在python3中使用Scipy pearsonr函数
3 回答
在Python3中使用scipy对多个lorentzian进行数据拟合
2 回答
在Python3中使用Script=argv
2 回答
在python3中使用selenium webdriver进行未解析的回溯
7 回答
在python3中使用selenium和phantomjs的网页截图之前如何等待?
2 回答
在Python3中使用Selenium和Requests模块从网页获取文件
5 回答
在python3中使用SIGINT终止函数
3 回答
在Python3中使用SIGTERM时,允许进程完成而不是中断
1 回答
在python3中使用smtplib发送XML内容
8 回答
在python3中使用socket库(RFCOMM模式)重新连接蓝牙设备?
1 回答
在python3中使用sounddevice和numpy编写wav文件
6 回答
在python3中使用Sqlalchemy插入MySQL查找类型错误的原因
7 回答
在python3中使用sqlite、pandas和sqlalchemy很难让rollback工作
2 回答
在python3中使用SQLite的FTS3/4
7 回答
在Python3中使用struct.calcsize()和len()有区别吗?
10 回答
在python3中使用substring函数时发生TypeError
4 回答
在Python3中使用Tkinter entry小部件写入串行设备
9 回答
在python3中使用tkinter时,如何在每次按下函数时获得运行该函数的按钮?
2 回答
在python3中使用tkinter的子帧
7 回答
在Python3中使用tryexcept块时,如何避免使用未初始化的变量?
6 回答