Ignoring or removing line breaks python

25,072

Solution 1

Use the replace method:

myString = myString.replace("\n", "")

For example:

>>> s = """
test
test
test
"""
>>> s.replace("\n", "")
'testtesttest'
>>> s
'\ntest\ntest\ntest\n' # warning! replace does not alter the original

Solution 2

>>> myString = """a
... b
... c
... d
... e"""
>>> ''.join(myString.splitlines())
'abcde'
Share:
25,072
John
Author by

John

Updated on July 15, 2022

Comments

  • John
    John almost 2 years

    I'm sorry for the noobish question, but none of the answers I've looked at seem to fix this. I'd like to take a multi-line string like this:

    myString = """a
    b
    c
    d
    e"""
    

    And get a result that looks like or that is at least interpreted as this:

    myString = "abcde"
    

    myString.rstrip(), myString.rstrip(\n), and myString.rstrip(\r) don't seem to change anything when I print this little "abcde" test string. Some of the other solutions I've read involve entering the string like this:

    myString = ("a"
    "b"
    "c")
    

    But this solution is impractical because I'm working with very large sets of data. I need to be able to copy a dataset and paste it into my program, and have python remove or ignore the line breaks.

    Am I entering something in wrong? Is there an elegant solution to this? Thanks in advance for your patience.

  • ZAD-Man
    ZAD-Man over 9 years
    That semicolon hurts my eyes.