gpt4 book ai didi

regex - python正则表达式在重复字符上拆分

转载 作者:行者123 更新时间:2023-12-05 05:23:56 24 4
gpt4 key购买 nike

例如我有一个字符串

--------------------------------
hello world !
--------------------------------
world hello !
--------------------------------
! hello world

我希望能够在连字符上拆分行,连字符的长度可以是可变的,这就是我决定使用正则表达式的原因,我想从中提取的信息是 ['hello world !', '世界你好!', '! Hello World '] 我已经尝试使用连字符的静态数量拆分字符串,这可行但不确定如果它的长度可变如何去做。我试过这样做:

re.split(r'\-{3,}', str1)

然而这似乎并没有奏效

最佳答案

您可以使用 .strip() 方法从输入和生成的拆分块中去除不必要的空格:

import re
p = re.compile(r'(?m)^-{3,}$')
t = "--------------------------------\nhello world !\n--------------------------------\nworld hello !\n--------------------------------\n! hello world"
result = [x.strip() for x in p.split(t.strip("-\n\r"))]
print(result)

至于正则表达式,我建议使用 (?m)^-{3,}$ 限制为只有连字符的 匹配 3 个或更多连字符行首 (^) 和行尾 ($)(由于 (?m),这些 anchor 匹配行边界,不是字符串边界)。

参见 IDEONE demo

关于regex - python正则表达式在重复字符上拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36568825/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com