微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Python中的所有字符和整数之间拆分字符串

如何解决如何在Python中的所有字符和整数之间拆分字符串

例如,我要将“ 2pL11H10K”转换为[2,p,L,11,H,10,K]

解决方法

使用正则表达式。 例子

your_string = "2pL11H10K"
items = re.findall(r'[A-Za-z]|\d+',your_string)
print(items)

那你就得到

['2','p','L','11','H','10','K']
,

您可以在loop中实现此逻辑,如果您不希望导入任何模块,则检查上一个元素是数字还是char。但是regex可能是最优雅的解决方案。

result = []
for e in string:
    if result:
        if result[-1].isdigit() and e.isdigit():
            result[-1] = result[-1] + e
        else:
            result.append(e)
    else:
        result.append(e)
,

必须使用正则表达式,并且已经给出了一些优质的答案,但是您还需要将数字从str()转换为int()。这也可以使用正则表达式来实现,例如使用[0-9]+来标识一个或多个数字。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。