If you have to remove spaces from a string in Python you can use one of the following options based on whether you want to remove leading spaces, trailing spaces, spaces from both ends or spaces in between the words too.
- str.lstrip()- Using this method you can remove the leading whitespaces from a String. See example.
- str.rstrip()- using this Python String method you can remove the trailing whitespaces from a String. See example.
- str.strip()- This method helps in removing both leading and trailing whitespaces from a String in Python. See example.
- re.sub()- By using re (Regular Expression) module's re.sub() function and passing the regular expression for spaces and replacement as a single space you can remove spaces in between words too apart from both leading and trailing whitespaces. See example.
Note that String is immutable in Python so these methods return a new copy of the String which has to be assigned to a String to store the new reference, otherwise the modified string is lost.
lstrip() - Removing leading whitepaces from String in Python
To remove spaces from the start of the String lstrip() method can be used.
string = " String with leading spaces" print(string) print(string.lstrip())
Output
String with leading spaces String with leading spaces
rstrip() - Removing trailing whitepaces from String in Python
To remove spaces from the end of the String rstrip() method can be used.
string = "String with trailing spaces " print(string) print(string.rstrip())
Output
String with trailing spaces String with trailing spaces
strip() - Removing both leading and trailing whitespaces from String in Python
To remove spaces from both start and end of the String strip() method can be used.
string = " String with leading and trailing spaces " print(string) print(string.strip())
Output
String with leading and trailing spaces String with leading and trailing spaces
Using re.sub() function in Python
You need to import re module to use this function. Function re.sub() replaces one or many matches with a replacement string.
In the function “//s+” is passed as a regular expression to match any number of spaces. As a replacement for those matches you can pass “” when removing leading and trailing spaces and a single space (“ ”) when removing spaces in between words.
^- represents start of the String
$- represents end of the String
string = " String with leading and trailing spaces " print(string) # removing leading and trailing spaces string = re.sub("^\\s+|\\s+$", "", string) # replacing more than one space between words with single space string = re.sub("\\s+", " ", string) print(string)
Output
String with leading and trailing spaces String with leading and trailing spaces
That's all for this topic Removing Spaces From String in Python. If you have any doubt or any suggestions to make please drop a comment. Thanks!
>>>Return to Python Tutorial Page
Related Topics
You may also like-