用戶輸入數據時,很有可能會無意中輸入多余的空格,或者在一些場景中,字符串前后不允許出現空格和特殊字符,此時就需要去除字符串中的空格和特殊字符。
這里的特殊字符,指的是制表符(\t)、回車符(\r)、換行符(\n)等。
Python 中,字符串變量提供了 3 種方法來刪除字符串中多余的空格和特殊字符,它們分別是:
- strip():刪除字符串前后(左右兩側)的空格或特殊字符。
- lstrip():刪除字符串前面(左邊)的空格或特殊字符。
- rstrip():刪除字符串后面(右邊)的空格或特殊字符。
注意,Python 的 str 是不可變的(不可變的意思是指,字符串一旦形成,它所包含的字符序列就不能發生任何改變),因此這三個方法只是返回字符串前面或后面空白被刪除之后的副本,並不會改變字符串本身。
Python strip()方法
strip() 方法用於刪除字符串左右兩個的空格和特殊字符,該方法的語法格式為:
str.strip([chars])
其中,str 表示原字符串,[chars] 用來指定要刪除的字符,可以同時指定多個,如果不手動指定,則默認會刪除空格以及制表符、回車符、換行符等特殊字符。
【例 1】
>>> str = " c.biancheng.net \t\n\r"
>>> str.strip()
'c.biancheng.net'
>>> str.strip(" ,\r")
'c.biancheng.net \t\n'
>>> str
' c.biancheng.net \t\n\r'
分析運行結果不難看出,通過 strip() 確實能夠刪除字符串左右兩側的空格和特殊字符,但並沒有真正改變字符串本身。
Python lstrip()方法
lstrip() 方法用於去掉字符串左右的空格和特殊字符。該方法的語法格式如下:
str.lstrip([chars])
其中,str 和 chars 參數的含義,分別同 strip() 語法格式中的 str 和 chars 完全相同。https://www.furuihua.cn/pingtai/
【例 2】
>>> str = " c.biancheng.net \t\n\r"
>>> str.lstrip()
'c.biancheng.net \t\n\r'
Python rstrip()方法
rstrip() 方法用於刪除字符串右側的空格和特殊字符,其語法格式為:
str.rstrip([chars])
str 和 chars 參數的含義和前面 2 種方法語法格式中的參數完全相同。
【例 3】
>>> str = " c.biancheng.net \t\n\r"
>>> str.rstrip()
' c.biancheng.net'