Python中的分离

2024-05-05 00:15:15 发布

您现在位置:Python中文网/ 问答频道 /正文

如何将字符串分开,除非有1,否则用字符分隔。如果有一个1,找到2,并取它们之间的字符。在不同的行上打印每个分隔符

因为我不能清楚地解释这个问题。因此,我举个例子:

如果输入是afwr1hk2kruf1fhhs2,则输出是afwr, hk, kruf, fhhs,,每行在不同的行上

编辑:B部分: 如果您需要打印a、f、w、r、hk、kruf、fhhs


Tags: 字符串编辑字符例子行上分隔符hkkruf
2条回答

好的,正确的答案是regex。在

不过,这里有一个不同的答案也很有效:

>>> from itertools import groupby
>>> s='afwr1hk2kruf1fhhs2'  
>>> [''.join(v) for k, v in groupby(s, lambda c: c.isdigit()) if not k]
['afwr', 'hk', 'kruf', 'fhhs']

然后,要在单独的行上打印,请添加另一个join

^{pr2}$

印刷品:

afwr
hk
kruf
fhhs

使用正则表达式,可以按数字拆分字符串(\d):

>>> import re
>>> re.split(r'\d', 'afwr1hk2kruf1fhhs2')
['afwr', 'hk', 'kruf', 'fhhs', '']
>>> [s for s in re.split(r'\d', 'afwr1hk2kruf1fhhs2') if s] # remove empty one
['afwr', 'hk', 'kruf', 'fhhs']

相关问题 更多 >