10

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.

kaya3
  • 47,440
  • 4
  • 68
  • 97
John
  • 133
  • 1
  • 1
  • 6

2 Answers2

13

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
dawg
  • 98,345
  • 23
  • 131
  • 206
tckmn
  • 57,719
  • 27
  • 114
  • 156
2
>>> myString = """a
... b
... c
... d
... e"""
>>> ''.join(myString.splitlines())
'abcde'
dawg
  • 98,345
  • 23
  • 131
  • 206