使用python,我试图使用正则表达式将文本文件划分为块。文本文件如下所示:
Block1
u 0.00 2.00
0.11 2.11
Block2
v 0.00 2.01
0.01 2.11
Block3
a 1.01 2.02
0.01 2.11
我的正则表达式
re.split("(\bBlock1\b\n\s\s[u].*\n.*)", open('Blockfile.txt', "r").read())
但是,当我运行代码时,它不会分裂。 在这里查看我的正则表达式代码:https://regex101.com/r/jW7oP4/2
谢谢!!你知道吗
Split
仅对带有语音标记的参数进行拆分,例如:用
.split(" ")
拆分“这个字符串”,结果是:但是用
.split("s ")
拆分它会导致:而不是:
这就是你的问题。您的代码只有在一次获得
(\bBlock1\b\n\s\s[u].*\n.*)
时才会分裂!你知道吗我建议使用多个分割函数或一个不同的函数,如
translate
。你知道吗您不一定需要正则表达式,如果一行以
Block
开头并将结果收集到字典中,则可以逐行检查正则表达式:印刷品:
在Python中处理正则表达式时,总是使用原始字符串。
\b
表示字符串中的反斜杠,它会被计算,正则表达式也会被破坏。只需在字符串前面加一个“r”。 这将达到以下目的:相关问题 更多 >
编程相关推荐