python-3.x 如何从字符串中提取相同字符的序列,而不使用正则表达式?

wz3gfoph  于 2023-02-20  发布在  Python
关注(0)|答案(1)|浏览(96)

我有一个示例字符串(实际上要长得多),如下所示:

st='+++----++-++++-----'

我想提取“+”和“-”的组合,以生成以下结果:

list_of_strings=['+++----', '++-', '++++-----']

这是我尝试过的,它显然不起作用:

st='+++----++-++++-----'

group_st=''

for i, k in zip(st, st[1:]):
    if i==k:
        group_st+=i
1hdlvixo

1hdlvixo1#

试试看:

st='+++----++-++++-----'

out, current = [], ''
for ch in st:
    if current == '' or current[-1] == ch or ch == '-' and current[-1] == '+':
        current +=  ch
    else:
        out.append(current)
        current = ch

if current:
    out.append(current)

print(out)

图纸:

['+++----', '++-', '++++-----']

相关问题