Trying to use a python split on a "empty" newline but not any other new lines. I tried a few other example I found but none of them seem to work.
Data example:
(*,224.0.0.0/4) RPF nbr: 96.34.35.36 Flags: C RPF P
  Up: 1w6d
(*,224.0.0.0/24) Flags: D P
  Up: 1w6d
(*,224.0.1.39) Flags: S P
  Up: 1w6d
(96.34.246.55,224.0.1.39) RPF nbr: 96.34.35.36 Flags: RPF
  Up: 1w5d
  Incoming Interface List
    Bundle-Ether434 Flags: F A, Up: 1w5d
  Outgoing Interface List
    BVI100 Flags: F, Up: 1w5d
    TenGigE0/0/0/3 Flags: F, Up: 1w5d
    TenGigE0/0/1/1 Flags: F, Up: 1w5d
    TenGigE0/0/1/2 Flags: F, Up: 1w5d
    TenGigE0/0/1/3 Flags: F, Up: 1w5d
    TenGigE0/1/1/1 Flags: F, Up: 1w5d
    TenGigE0/1/1/2 Flags: F, Up: 1w5d
    TenGigE0/2/1/0 Flags: F, Up: 1w5d
    TenGigE0/2/1/1 Flags: F, Up: 1w5d
    TenGigE0/2/1/2 Flags: F, Up: 1w5d
    Bundle-Ether234 (0/3/CPU0) Flags: F, Up: 3d16h
    Bundle-Ether434 Flags: F A, Up: 1w5d
I want to split on anything that is a new line online and only a newline.
Example code is below:
myarray = []
myarray = output.split("\n")
for line in myarray:
    print line
    print "Next Line"
I am do have the "re" library imported.
To split text by empty line, split the string on two newline characters, e.g. my_str. split('\n\n') for POSIX encoded files and my_str. split('\r\n\r\n') for Windows encoded files.
To split a string by newline character in Python, pass the newline character "\n" as a delimiter to the split() function. It returns a list of strings resulting from splitting the original string on the occurrences of a newline, "\n" .
strip() Python String strip() function will remove leading and trailing whitespaces. If you want to remove only leading or trailing spaces, use lstrip() or rstrip() function instead.
split() Return ValueThe return value of the split() method is always a list of strings obtained after breaking the given string by the specified separator.
It's quite easy when you consider what is on an empty line. It's just the newline character, so splitting on an empty line would be splitting on two newline characters in sequence (one from the previous non-empty line, one is the 'whole' empty line.
myarray = output.split("\n\n")
for line in myarray:
    print line
    print "Next Line"
and for Python 3:
myarray = output.split("\n\n")
for line in myarray:
    print(line)
    print("Next Line")
If you want to be platform-agnostic, use os.linesep + os.linesep instead of "\n\n", as is mentioned in Lost's answer.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With