ajkey94 ajkey94 - 3 months ago 18
Python Question

How do I replace multiple spaces with just one character?

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.

Answer

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)