2024-09-28 01:25:06 发布
网友
my_string = 'ABCDefgh' desired = ('ABCD','efgh')
我能想到的唯一方法是创建一个for循环,然后逐个扫描和检查字符串中的每个元素,然后添加到字符串中,然后创建元组。有没有更有效的方法?在
它将始终采用UPPERlower格式
因为我把^{}扔到任何东西上:
>>> my_string = 'ABCDefgh' >>> from itertools import groupby >>> [''.join(g) for k,g in groupby(my_string, str.isupper)] ['ABCD', 'efgh']
(这里有点过分,但可以很好地扩展到更复杂的问题。)
简单方法(两次通过):
>>> import itertools >>> my_string = 'ABCDefgh' >>> desired = (''.join(itertools.takewhile(lambda c:c.isupper(), my_string)), ''.join(itertools.dropwhile(lambda c:c.isupper(), my_string))) >>> desired ('ABCD', 'efgh')
有效方式(一次通过):
print re.split("([A-Z]+)",my_string)[1:]
因为我把^{} 扔到任何东西上:
(这里有点过分,但可以很好地扩展到更复杂的问题。)
简单方法(两次通过):
有效方式(一次通过):
^{pr2}$相关问题 更多 >
编程相关推荐