例如:string='AbcDEfGhIJK'
我想取一份清单,上面有: ['A'、'bc'、'DE'、'f'、'G'、'h'、'IJK']
我正试着想一个这样做的逻辑,但到目前为止没有运气。你知道吗
编辑: 我不懂正则表达式,所以我只用循环 这就是我想出来的,但它没有给出最后一个“IJK”
u_count = 0
l_count = 0
l_string = ''
u_string = ''
output = []
data = 'AbcDEfGhIJK'
for c in data:
if(c.isupper()):
if(l_count !=0):
output.append(l_string)
l_count = 0
l_string = ''
u_string += c
u_count += 1
if(c.islower()):
if(u_count !=0):
output.append(u_string)
u_count = 0
u_string = ''
l_string +=c
l_count += 1
print(output)
您可以使用itertools.groupby来实现这一点:
这里,
groupby
将给islower()
提供相同输出的字符分组输出
您可以使用正则表达式:
输出
其思想是按小写字母
'([a-z]+)'
拆分字符串,但保留拆分模式。你知道吗相关问题 更多 >
编程相关推荐