使用Python解析基于空格的文本

时间:2018-04-24 18:10:56

标签: python regex parsing split

            No time. Not today.
                (slides in last bullets)
            Ten, eleven, twelve... or bust.
                (chambers a shell into each
                 gun, looks up)
            Right here!

The cab SCREECHES to a stop on the shoulder of the highest
FREEWAY in a massive INTERCHANGE of freeways. Dopinder halts
the meter and hands Deadpool his CARD.

我的目标是解析上面的文字,使对话与描述分开。我的文件中有多个这样的实例。输出应该是两个单独的字符串xy,其中:

x = "No time. Not Today...Right Here!"

y = "The cab SCREECHES...his CARD"

如何使用正则表达式匹配实现此目的?或者有更好的方法来解决这个问题吗?我正在使用python。

1 个答案:

答案 0 :(得分:0)

似乎两个连续的换行符是文本各部分的分隔符,因此您可以拆分它:

x, y = s.split('\n\n')

您还可以通过检查变量的第一个字符来确定变量是否为对话框。如果它们是空格(即有缩进),那么它就是一个对话框:

x.startswith('            ') # True if dialog, False otherwise

如果您需要删除每个字符串前后的额外空格,请使用strip

x, y = [x.strip() for x in s.split('\n\n')]

通过这样做,您无法检查某些内容是否为对话框,因此请务必在删除空格之前进行检查。