如何将一串数字和字母拆分为字符串列表和数字列表

Ami*_*mit 1 python

给定一个包含字母和数字序列的字符串(例如):

"GHG-H89KKK90KKP"  
Run Code Online (Sandbox Code Playgroud)

我们有没有办法把这个字符串分成两个列表,一个包含字母,一个包含数字?

["GHG-H", "KKK", "KKP"] 
[89,90]
Run Code Online (Sandbox Code Playgroud)

Flu*_*sch 8

使用(正则表达式)re.findallre来查找字符串中的模式。第一个表达式(?i)[a-z|-]+查找所有字母序列(忽略大小写),它还包括连字符 ( -)。第二个表达式[0-9]+查找字符串中的所有数字序列。

import re

string = "GHG-H89KKK90KKP"

print(re.findall("(?i)[a-z|-]+", string))
print(re.findall("[0-9]+", string))
Run Code Online (Sandbox Code Playgroud)

输出:

['GHG-H', 'KKK', 'KKP']
['89', '90']
Run Code Online (Sandbox Code Playgroud)