Python从字符串中删除空格
时间:2020-02-23 14:43:14 来源:igfitidea点击:
在Python中,有多种方法可以从字符串中删除空格。
本教程旨在提供各种函数的简短示例,我们可以使用这些函数从字符串中删除空格。
Python从字符串中删除空格
Python字符串是不可变的,因此我们无法更改其值。
任何操纵字符串值的函数都将返回一个新字符串,我们必须将其明确分配给该字符串,否则,字符串值将保持不变。
假设我们有一个示例字符串,定义为:
s = ' Hello World From hyman \t\n\r\tHi There '
该字符串具有不同类型的空格以及换行符。
让我们看一下删除空格的不同函数。
strip()
Python String strip()函数将删除开头和结尾的空格。
>>> s.strip() 'Hello World From hyman \t\n\r\tHi There'
如果只想删除前导或者尾随空格,请改用lstrip()或者rstrip()函数。
replace()
我们可以使用replace()从字符串中删除所有空格。
此功能也将删除单词之间的空格。
>>> s.replace(" ", "") 'HelloWorldFromhyman\t\n\r\tHiThere'
join()与split()
如果要消除所有重复的空格和换行符,则可以将join()函数与字符串split()函数一起使用。
>>> " ".join(s.split()) 'Hello World From hyman Hi There'
translate()
如果要摆脱所有空格和换行符,可以使用字符串translate()函数。
>>> import string >>> s.translate({ord(c): None for c in string.whitespace}) 'HelloWorldFromhymanHiThere'
Python使用正则表达式从字符串中删除空格
我们还可以使用正则表达式来匹配空格,并使用re.sub()
函数将其删除。
import re s = ' Hello World From hyman \t\n\r\tHi There ' print('Remove all spaces using RegEx:\n', re.sub(r"\s+", "", s), sep='') # \s matches all white spaces print('Remove leading spaces using RegEx:\n', re.sub(r"^\s+", "", s), sep='') # ^ matches start print('Remove trailing spaces using RegEx:\n', re.sub(r"\s+$", "", s), sep='') # $matches end print('Remove leading and trailing spaces using RegEx:\n', re.sub(r"^\s+|\s+$", "", s), sep='') # | for OR condition
输出:
Remove all spaces using RegEx: HelloWorldFromhymanHiThere Remove leading spaces using RegEx: Hello World From hyman Hi There Remove trailing spaces using RegEx: Hello World From hyman Hi There Remove leading and trailing spaces using RegEx: Hello World From hyman Hi There