GeeksforGeeks App
Open App
Browser
Continue

# Python | Remove unwanted spaces from string

Sometimes, while working with strings, we may have situations in which we might have more than 1 spaces between intermediate words in strings that are mostly unwanted. This type of situation can occur in web development and often needs rectification. Let’s discuss certain ways in which this task can be performed.

Examples:

```Example 1:
Input: GfG is good         website
Output: GfG is good website
Explanation: Unwanted spaces have been removed from the string.

Example 2:
Input: GfG      is      good         website
Output: GfG is good website
Explanation: Unwanted spaces have been removed from the string.```

Method #1: Using re.sub() This problem can be performed using the regex in which we can restrict the separation between the words to be just a single space using the appropriate regex string.

## Python3

 `# Python3 code to demonstrate working of``# remove additional space from string``# Using re.sub()``import` `re` `# initializing string``test_str ``=` `"GfG is good         website"` `# printing original string``print``(``"The original string is : "` `+` `test_str)` `# using re.sub()``# remove additional space from string``res ``=` `re.sub(``' +'``, ``' '``, test_str)` `# printing result``print``(``"The strings after extra space removal : "` `+` `str``(res))`

Output :

```The original string is : GfG  is   good           website
The strings after extra space removal : GfG is good website```

Time Complexity: O(n)

Space Complexity: O(n)

Method #2: Using split() and join() This task can also be performed using the split and join function. This is performed in two steps. In first step, we convert the string into list of words and then join with a single space using the join function.

## Python3

 `# Python3 code to demonstrate working of``# remove additional space from string``# Using split() + join()` `# initializing string``test_str ``=` `"GfG is good         website"` `# printing original string``print``(``"The original string is : "` `+` `test_str)` `# using split() + join()``# remove additional space from string``res ``=` `" "``.join(test_str.split())` `# printing result``print``(``"The strings after extra space removal : "` `+` `str``(res))`

Output :

```The original string is : GfG  is   good           website
The strings after extra space removal : GfG is good website```

Time Complexity: O(n)

Space Complexity: O(n)

Method #3 : Using split() with strip() and join() This task can also be performed using the split with strip and join function. This is performed in two steps. In first step, we convert the string into list of words and then join with a single space using the join function.

## Python3

 `# Python3 code to demonstrate working of``# remove additional space from string``# Using strip() and split() + join()` `# initializing string``test_str ``=` `"GfG is good         website"` `# printing original string``print``(``"The original string is : "` `+` `test_str)` `# using split() + join()``# remove additional space from string``res ``=` `" "``.join(test_str.strip().split())` `# printing result``print``(``"The strings after extra space removal : "` `+` `str``(res))`

Method 4: Using a loop to iterate over each character of the string

Initialize an empty string to store the result
Use a loop to iterate over each character of the input string
If the current character is a space and the previous character was also a space, skip it
Otherwise, append the current character to the result string

## Python3

 `# initializing string``test_str ``=` `"GfG is good         website"` `# printing original string``print``(``"The original string is : "` `+` `test_str)` `# using a loop to remove additional spaces``res ``=` `""``for` `i ``in` `range``(``len``(test_str)):``    ``if` `i ``=``=` `0` `or` `(test_str[i] !``=` `" "` `or` `test_str[i``-``1``] !``=` `" "``):``        ``res ``+``=` `test_str[i]` `# printing result``print``(``"The strings after extra space removal : "` `+` `str``(res))`

Output

```The original string is : GfG is good         website
The strings after extra space removal : GfG is good website
```

Time complexity: O(n)
Auxiliary space: O(n) (to store the result string)

My Personal Notes arrow_drop_up