我有这些字符串。
"LAKDOER 567-85 06D-1F"
"QRT1 35-43 459-70 D"
"50201 WSCFVGH 133 9H "
"STREE VDERYG 8C LOP"
"GG-STAR THIEOR- WL-515-67-26548H-9"
我想拆分所有字符串并需要这样的输出。
["LAKDOER", "567-85 06D-1F"]
["QRT1", "35-43 459-70 D"]
["50201 WSCFVGH", "133 9H "]
["STREE VDERYG", "8C LOP"]
["GG-STAR THIEOR-", "WL-515-67-26548H-9"]
请您参考如下方法:
使用 re.split() 函数和特定的正则表达式模式:
import re
lst = ["LAKDOER 567-85 06D-1F", "QRT1 35-43 459-70 D", "50201 WSCFVGH 133 9H ",
"STREE VDERYG 8C LOP", "GG-STAR THIEOR- WL-515-67-26548H-9"
]
pat = re.compile(r'\s(?=[a-z-]*[0-9])', re.I)
for s in lst:
print(pat.split(s, 1))
输出:
['LAKDOER', '567-85 06D-1F']
['QRT1', '35-43 459-70 D']
['50201 WSCFVGH', '133 9H ']
['STREE VDERYG', '8C LOP']
['GG-STAR THIEOR-', 'WL-515-67-26548H-9']
re.I- 正则表达式标志,告诉匹配不区分大小写\s(?=[a-z-]*[0-9])- 匹配空白字符\s后跟带有强制数字的字符序列[0-9]和可选的[a-z-]*序列(由肯定的先行断言(?=...)确保)
