1

次のように、複数行の文字列に特定の文字列を含む行の前にすべての行を削除する方法を探しています:

string1 
string2
string3
==== bump
string4
string5
string6
==== bump

しかし、最初に一致したものだけ...

最後に、これを出力として使用したいと思います。

==== bump
string4
string5
string6
==== bump
4

4 に答える 4

1
import io
import itertools
import sys

lines = io.StringIO(u'''\
string1 
string2
string3
==== bump
string4
string5
string6
==== bump
''')

sep = '==== bump'
it = itertools.dropwhile(lambda line: not line.startswith(sep), lines)
sys.stdout.writelines(it)

出力

==== bump
string4
string5
string6
==== bump
于 2013-06-20T14:55:15.847 に答える
1
import re
text = '''\
string1 
string2
string3
==== bump
string4
string5
string6
==== bump'''

print(re.split(r'(=== bump)', text, maxsplit=1)[-1])

収量

string4
string5
string6
==== bump
于 2013-06-20T14:52:48.867 に答える
0
lines = '''
string1 
string2
string3
==== bump
string4
string5
string6
==== bump
'''

import re
sep = '==== bump'
matched = re.search('{0}.*?{0}'.format(re.escape(sep)), lines, flags=re.S)
print(matched.group(0))
于 2013-06-20T14:59:02.987 に答える