在每个“X”上拆分一个字符串

2024-06-07 23:06:46 发布

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

我尝试在每个Cell\s\d+split一个string,但没有成功。
我的尝试是:

result = re.split(r"Cell\s\d+ - Address: .*?Cell\s\d+", subject, 0, re.DOTALL | re.MULTILINE)

但是它跳过每1条记录,这是有意义的,因为我在正则表达式中包含了下一个匹配的一部分。 我也尝试过积极/消极的向前看和不走运的后看。
请注意,记录的结尾不同。在

我怎么把下面的绳子分开?在

^{pr2}$

Tags: restringaddress结尾记录cellresultmultiline
1条回答
网友
1楼 · 发布于 2024-06-07 23:06:46

作为另一种方法,您可以使用Python的groupby()函数来定位块,如下所示:

from itertools import groupby

subject = """  - all the text  - """    # read in, or add text here
lines = iter(subject.splitlines())
data = [list(g) for k, g in groupby(lines, lambda x: x.startswith('Cell '))][1:]
cells = [l1 + l2 for l1, l2 in zip(*[iter(data)] * 2)]

for cell in cells:
    print cell

因此,如果subject包含一个文件中的所有文本,那么您将得到四个单元格,每个单元格包含每个单元格的行列表:

^{pr2}$

相关问题 更多 >

    热门问题