我想从{inside}的花括号中提取文本。这些文本之间的区别在于前缀,例如\section{
或{}
来设置。在
file = "This is a string of an \section{example file} used for \subsection{Latex} documents."
# These are some Latex commands to be considered:
heading_1 = "\\\\section{"
heading_2 = "\\\\subsection{"
# This is my attempt.
for letter in file:
print("The current letter: " + letter + "\n")
我想使用Python为数据库转换一个Latex文件。在
如果您只想要所有文件的
(section-level, title)
对,可以使用一个简单的regex:示例用法:
^{pr2}$通过更改
codewords
列表的值,您将能够匹配更多种类的命令。在要将其应用于文件,只需先
read()
它:如果您可以保证所有这些命令都在同一行上,那么您可以提高内存效率并执行以下操作:
打开('我的文件.tex')作为f: 结果=[] 对于f行: 结果.延伸(正则表达式findall(线路)
或者如果你想更花哨一点:
但是,请注意,如果您有以下情况:
这将失败,为什么使用
read()
的解决方案也会得到该部分。在在任何情况下,你必须意识到,格式上的细微变化都会破坏这种解决方案。因此,为了更安全,您必须寻找一个合适的乳胶解析器。在
如果您想将给定部分中“包含”的子部分组合在一起,则可以在使用上述解决方案获得结果后进行分组。你必须使用类似
itertools.groupby
的东西。在从itertools导入groupby、count、chain
最终结果将是:
它与文章开头的文本结构相匹配。在
如果您想使用
codewords
列表使其可扩展,那么事情会变得复杂得多。在我想您应该使用正则表达式模块。在
相关问题 更多 >
编程相关推荐