从文本文件中正确拆分字符串

Split a string from a textfile correctly

我有一个包含多行(~5000000 行)的文件 ("text.txt")。我正在尝试拆分一条线,以便:

2   :   :   PUNCT   sent    _   _   _   _   _3-4    L'Algebra   _   _   _   _   _   _   _   _

变成这两行:

2   :   :   PUNCT   sent    _   _   _   _   _
3-4 L'Algebra   _   _   _   _   _   _   _   _

所以基本上我想将一行转换成两行并将其写回另一个文件。所有需要拆分的行都以字符“”(下划线)和数字或数字+“-”+数字开头。我想在字符“”(下划线)之后将该行分成两行。

如果我尝试用这个函数分割线:

lines = re.split("_\d")

并在我得到这个之后将列表行写入文件:

2   :   :   PUNCT   sent    _   _   _   _   _
-4 L'Algebra   _   _   _   _   _   _   _   _

我怎样才能正确地做到这一点?谁能帮帮我?

尝试:

>>> re.split("_(?=\d+)", line)

['2   :   :   PUNCT   sent    _   _   _   _   ',
 "3-4    L'Algebra   _   _   _   _   _   _   _   _"]