How do I replace multiple spaces with just one character?

python, python-3.x

Solution

This pattern will replace any groups of whitespace with a single underscore

newstring = '_'.join(input1.split())

If you only want to replace spaces (not tab/newline/linefeed etc.) it's probably easier to use a regex

import re
newstring = re.sub(' +', '_', input1)

Problem

Here's my code so far: ``` input1 = input("Please enter a string: ") newstring = input1.replace(' ','_') print(newstring) ``` So if I put in my input as: ``` I want only one underscore. ``` It currently shows up as: ``` I_want_only_____one______underscore. ``` But I want it to show up like this: ``` I_want_only_one_underscore. ```

Original source