我正在尝试使用多个字符分隔符拆分字符串,我可以在结果中保留分隔符,但它位于第一部分而不是我需要它的第二部分。这就是我所拥有的。
test = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
d = 'DEF'
for line in test:
s = [e+d for e in test.split(d) if e !=""]
print s
['ABCDEF', 'GHIJKLMNOPQRSTUVWXYZDEF']
我需要的是分裂时的DEF在第2部分。我将不胜感激。
答案 0 :(得分:1)
>>> test = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
>>> d = 'DEF'
>>> head, sep, tail = test.partition(d)
>>> [head, sep+tail]
['ABC', 'DEFGHIJKLMNOPQRSTUVWXYZ']
答案 1 :(得分:0)
只需将DEF
添加到第二个元素:
s1,s2 = test.split(d)
print [s1,d + s2]
或在拆分列表中添加:
spl = test.split(d)
spl[-1] = d + spl[-1]
在您自己的代码中,您只需在每次不添加s
时重新分配值,这样您的循环就毫无意义:
for line in test:
s = [e+d for e in test.split(d) if e !=""]
答案 2 :(得分:0)
试试这样: -
test = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
words= list(word)
first=[]
second=[]
for w in words:
if w ==A or w==B or w==C:
first.append(w)
else:
second.append(w)
head='',join(first)
tail='',join(second)
[head,tail]