gpt4 book ai didi

python - 为什么在使用正则表达式拆分字符串时会得到一个额外的空命中?

转载 作者:行者123 更新时间:2023-11-28 22:53:35 24 4
gpt4 key购买 nike

我有一个像这样的字符串:ape4banana3 我把它拆分成这样:

>>>re.split('([1-5]?)|\s', "ape4banana3")
['ape', '4', 'banana', '3', '']

为什么我的结果中有尾随 ''?我可以通过编写更智能的正则表达式来摆脱它吗?

旁注:正则表达式有交替,因为有时字符串看起来像这样:ape4 banana3 然后我想去掉空格。

额外的功劳:有没有办法让我得到这个结果? ['ape4', 'banana3']?

最佳答案

您看到额外的空格是因为您在拆分数字,所以您在最后一个数字后得到空字符串。

至于你的额外信用,这似乎是最简单的解决方案:

>>> re.findall(r"([a-zA-Z]+[1-5]+)", "ape4banana3")
['ape4', 'banana3']
>>> re.findall(r"([a-zA-Z]+[1-5]+)", "ape4 banana3")
['ape4', 'banana3']

您可能需要根据您的用例将 [a-zA-Z] 替换为更具体或更不具体的模式,此正则表达式仅基于您在此处发布的字符串。

关于python - 为什么在使用正则表达式拆分字符串时会得到一个额外的空命中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19329176/

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