如何将字符串拆分为数字和字符
string = 'Hello, welcome to my world001'
这是我一直试图分成两个(数字和字符串)的字符串。后面的数字需要从原始字符串中分离出来。python中是否有任何方法可以真正快速地做到这一点。
这是我的尝试(代码):
length_of_string = len(string) - 1
num = []
if string[-1].isdigit():
while length_of_string > 0:
if string[length_of_string].isdigit():
num.insert(0, int(string[length_of_string]))
length_of_string -= 1
print(num)
else:
string += '1'
print(string)
回答
正则表达式查找所有方法在这里可能是合适的。或者,我们可以找到所有非数字或所有数字字符的组。
string = 'Hello, welcome to my world001'
parts = re.findall(r'D+|d+', string)
print(parts) # ['Hello, welcome to my world', '001']