曾使用过数十种语言,但对 Python 不熟悉。
我在这里的第一个(也许是第二个)问题,所以要温柔......
试图有效地将类似 HTML 的 markdown 文本转换为 wiki 格式(特别是 Linux Tomboy/GNote 到 Zim 的注释)并且一直卡在转换列表上。
对于像这样的 2 级无序列表...
- 第一级
- 第二级
Tomboy/GNote 使用类似...
<list><list-item>First level<list><list-item>Second level</list-item></list></list-item></list>
然而,Zim 个人 wiki 希望这是……
* First level
* Second level
...带有前导标签。
我探索了正则表达式模块函数 re.sub()、re.match()、re.search() 等,并发现了很酷的 Python 功能,可以将重复文本编码为...
count * "text"
因此,看起来应该有一种方法可以做类似的事情......
newnote = re.sub("<list>", LEVEL * "\t", oldnote)
其中 LEVEL 是<list>
注释中的序数(出现)。因此0
,对于第一个<list>
遇到的,1
对于第二个,等等。
</list>
每次遇到时, LEVEL 都会递减。
<list-item>
标签被转换为项目符号的星号(在适当的情况下以换行符开头)和</list-item>
标签被删除。
最后……问题……
- 如何获得 LEVEL 的值并将其用作制表符乘数?