Replace multi-spacing in strings with single whitespace - Python

python, removing-whitespace, replace, string, whitespace

Solution

look at this

In [1]: str1 = "This is    a  foo bar   sentence with  crazy spaces that  irritates   my program "

In [2]: ' '.join(str1.split())
Out[2]: 'This is a foo bar sentence with crazy spaces that irritates my program'

The method `split()` returns a list of all the words in the string, using str as the separator (splits on all whitespace if left unspecified)

Problem

The overhead in looping through the string and replacing double spaces with single ones is taking too much time. Is a faster way of trying to replace multi spacing in strings with a single whitespace? I've been doing it like this, but it's just way too long and wasteful: ``` str1 = "This is a foo bar sentence with crazy spaces that irritates my program " def despace(sentence): while " " in sentence: sentence = sentence.replace(" "," ") return sentence print despace(str1) ```

Original source

Related problems