我想知道是否有比我目前正在解析此文件更好的方法。我有一个字符串,其格式为:
[Chunk of text]
--------------------
[Another chunk of text]
(可以有多个文本块,它们之间有相同的分隔符)
我正在尝试将文本块解析为列表的元素,我可以使用data.split('-'*20)
[在这种情况下],但是如果没有正好20个连字符,则拆分将无法按预期工作。我一直在玩正则表达式,但目前我不确定可以使用的正确的正则表达式。
在这种情况下我是否应该使用更好的方法,或者是否应该使用正则表达式来反对.split()方法?
答案 0 :(得分:1)
我会尝试将re.split()
与正则表达式--+
一起使用,这意味着:
-
- 一个连字符-+
- 一个或多个连字符 ...这种方式不会匹配单个连字符,但不止一个,或者你可以使用-{2,}
,这意味着两个或更多。
答案 1 :(得分:1)
你想要一个正则表达式分割。我不是python-literate,但我在official 2.7.10 documentation找到了这个函数,并根据你的情况进行了修改:
>>> re.split('\n\-{4,}\n', input)
4
是您想要匹配的最小破折号。\n
是之前和之后的换行符。你可能不想要那些文字。