gpt4 book ai didi

python - 如何用数字和字母拆分 Python 字符串?

转载 作者:行者123 更新时间:2023-11-28 20:45:58 28 4
gpt4 key购买 nike

我有包含可选数字和字母的字符串,例如“01a”、“b”和“02”。这些字符串总是有两部分,左边是数字,右边是字母。我想拆分这些字符串以分别获取数字和字母。如何定义 mySplit 以获得此结果?

>>> map(mySplit, ['01123absd', 'bsdf', '02454'])

[('01123', 'absd'), (None, 'bsdf'), ('02454', None)]

最佳答案

您可以为此使用正则表达式。我们想要的是:

  • 以 0 个或多个数字开头的字符串,
  • 以 0 个或多个字母结尾的字符串。

请注意,正则表达式 将创建命名组,它也被编译一次以更高效每次被调用。 p>

import re
regex = re.compile("^(?P<numbers>\d*)(?P<letters>\w*)$")

def myFunction(entry):
(numbers, letters) = regex.search(entry).groups()
return (numbers or None, letters or None)

map(myFunction, ['01123absd', 'bsdf', '02454'])

最后一行的调用给出了以下输出:

[('01123', 'absd'), (None, 'bsdf'), ('02454', None)]

关于python - 如何用数字和字母拆分 Python 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21917989/

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