I have a multi-line string that I want to do an operation on each line, like so:
inputString = """Line 1
Line 2
Line 3"""
I want to iterate on each line:
for line in inputString:
doStuff()
I have a multi-line string that I want to do an operation on each line, like so:
inputString = """Line 1
Line 2
Line 3"""
I want to iterate on each line:
for line in inputString:
doStuff()
inputString.splitlines()
Will give you a list with each item, the splitlines() method is designed to split each line into a list element.
Like the others said:
inputString.split('\n') # --> ['Line 1', 'Line 2', 'Line 3']
This is identical to the above, but the string module's functions are deprecated and should be avoided:
import string
string.split(inputString, '\n') # --> ['Line 1', 'Line 2', 'Line 3']
Alternatively, if you want each line to include the break sequence (CR,LF,CRLF), use the splitlines method with a True argument:
inputString.splitlines(True) # --> ['Line 1\n', 'Line 2\n', 'Line 3']
The original post requested for code which prints some rows (if they are true for some condition) plus the following row. My implementation would be this:
text = """1 sfasdf
asdfasdf
2 sfasdf
asdfgadfg
1 asfasdf
sdfasdgf
"""
text = text.splitlines()
rows_to_print = {}
for line in range(len(text)):
if text[line][0] == '1':
rows_to_print = rows_to_print | {line, line + 1}
rows_to_print = sorted(list(rows_to_print))
for i in rows_to_print:
print(text[i])