上一个问题由于没有得到完全重复而重复。这是一个不同的问题,我在整个网络上搜索了这个问题!
我是新手并加入此网站以解决此问题,我想在文本文件的2个字之间打印一些特定的行。
文本文件
....
accounts
Bank
Credit
good value
money
Amount
Amount
我需要打印“Credit”和“Amount”之间的界限。问题:这里有两个“金额”,所以我无法解决。
预期产出:
good value
money
请帮忙!答案将不胜感激!
编码: 导入重新
result = []
with open("acc.txt", "r") as f:
a = [x.rstrip() for x in f]
# store its index
for item in a:
if item.startswith("Credit"): # same as your re check
break
ind = a.index(item) #here it produces index no./line no.
result.extend(a[ind:])
if item.startswith("Amount"):
break
ind = a.index(item) #here it produces index no./line no.
result.extend(a[:ind])
for item in result:
print item
答案 0 :(得分:0)
您可以尝试以下代码,
>>> import regex
>>> s = """accounts
... Bank
... Credit
... good value
... money
... Amount
... Amount"""
>>> m = regex.findall(r'(?s)(?<=Credit\s*\b).*?(?=Amount)', s)
>>> for i in m:
... print i
...
good value
money