pythonstringtrimremoving-whitespace

Remove all whitespace in a string


I want to eliminate all the whitespace from a string, on both ends, and in between words.

I have this Python code:

def my_handle(self):
    sentence = ' hello  apple  '
    sentence.strip()

But that only eliminates the whitespace on both sides of the string. How do I remove all whitespace?


Solution

  • If you want to remove leading and ending whitespace, use str.strip():

    >>> "  hello  apple  ".strip()
    'hello  apple'
    

    If you want to remove all space characters, use str.replace() (NB this only removes the “normal” ASCII space character ' ' U+0020 but not any other whitespace):

    >>> "  hello  apple  ".replace(" ", "")
    'helloapple'
    

    If you want to remove all whitespace and then leave a single space character between words, use str.split() followed by str.join():

    >>> " ".join("  hello  apple  ".split())
    'hello apple'
    

    If you want to remove all whitespace then change the above leading " " to "":

    >>> "".join("  hello  apple  ".split())
    'helloapple'