Python 分割文本使得 字母和数字 分开

https://segmentfault.com/q/1010000010596605

from itertools import groupby
import re

def exp_str(s):
“””只用标准库函数”””
s += s[-2]
p = 0
for index, item in enumerate(s):
try:
n = index + 1
sn = s[n]
except IndexError:
_ = s[p: index]
if _:
yield _
if item.isdigit() and sn.isdigit():
continue
elif item.isalpha() and sn.isalpha():
continue
else:
yield s[p: n]
p = index + 1

def use_group(s):
“””这是用groupby的情况”””
return [.join(list(g)) for k, g in groupby(s, key=lambda x: x.isdigit())]

def use_re(s):
“””这是用正则表达式的情况”””
return re.findall(r'[0-9]+|[a-z]+’, s)

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注