Open In App

Python | Remove unwanted spaces from string

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

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)



Last Updated : 23 Apr, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads