设置字符串:
'abcdeabcdeabcdeabcdeabcdeabcde'
分开:
'cdebbe'
输出:
'ab c d e a b cdea b cd e abcdeabcde'
这意味着拆分字符串
'abcdeabcdeabcdeabcdeabcdeabcde'
按索引
[2,3,4,6,10,14]
如何通过Python执行此操作?此问题与Split a list into parts based on a set of indexes in Python类似 如果按照答案,输出结果为:
['ab', 'c', 'd', 'ea', 'bcde', 'abcd', 'eabcdeabcdeabcde']
不是预期的输出。
答案 0 :(得分:2)
getApplicationContext()
但是你的字符串不包含'cdebbe'子字符串,所以result是一个包含一个字符串的列表:
'abcdeabcdeabcdeabcdeabcdeabcde'.split('cdebbe')
答案 1 :(得分:1)
s = 'abcdeabcdeabcdeabcdeabcdeabcde'
new = []
for i,char in enumerate('cdebbe'):
new.append(s.split(char)[:i+1])
print new
>>[['ab'], ['abc', 'eabc'], ['abcd', 'abcd', 'abcd'], ['a', 'cdea', 'cdea', 'cdea'], ['a', 'cdea', 'cdea', 'cdea', 'cdea'], ['abcd', 'abcd', 'abcd', 'abcd', 'abcd', 'abcd']]
这会将你的字符串除以'cdebbe'中的所有字母。
对此进行一些操作,我们可以获得您需要的响应。但这并不完全符合您的预期。
new2 = []
for i, x in enumerate(new):
new2.append(new[i][-1])
print new2
>>['ab', 'eabc', 'abcd', 'cdea', 'cdea', 'abcd']
快速解释:'ab'是字符串拆分为'c'的第一部分,'eabc'是字符串的第二部分,在'd'等分割时等等
答案 2 :(得分:1)
这非常符合您的预期输出,但我不知道'cdebbe'
到达终点时的逻辑是什么。
s = 'abcdeabcdeabcdeabcdeabcdeabcde'
split = 'cdebbe'
result = []
for c in split:
left, center, s = s.partition(c)
if left:
result.append(left)
result.append(center)
print(' '.join(result)) # ab c d e a b cdea b cd e