在 Python 中有多种方法可以从字符串中删除空格。本教程旨在提供一个简短示例,展示我们可以用来从字符串中删除空格的各种函数。

Python 删除字符串中的空格

Python String 是不可变的,所以我们不能改变它的值。任何操作字符串值的函数都会返回一个新字符串,我们必须将其显式分配给该字符串。否则,字符串值不会改变。假设我们有一个示例字符串定义为:

s = '  Hello  World   From Pankaj \t\n\r\tHi There  '

此字符串具有不同类型的空格和换行符。让我们看一下删除空格的不同功能。

条带()

Python String strip() 函数将删除前导和尾随空格。

>>> s.strip()
'Hello  World   From Pankaj \t\n\r\tHi There'

如果您只想删除前导或尾随空格,请改用lstrip() 和 rstrip()函数。

替换()

我们可以使用replace()删除字符串中的所有空格。此功能也将删除单词之间的空格。

>>> s.replace(" ", "")
'HelloWorldFromPankaj\t\n\r\tHiThere'

join() 与 split()

如果你想去掉所有重复的空格和换行符,那么你可以使用join()函数和字符串split()函数。

>>> " ".join(s.split())
'Hello World From Pankaj Hi There'

翻译()

如果你想去掉所有的空格和换行符,你可以使用字符串translate()函数。

>>> import string
>>> s.translate({ord(c): None for c in string.whitespace})
'HelloWorldFromPankajHiThere'

python 从字符串中删除空格

Python 使用正则表达式从字符串中删除空格

我们还可以使用正则表达式来匹配空格并使用re.sub()函数将其删除。

import re

s = '  Hello  World   From Pankaj \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:
HelloWorldFromPankajHiThere
Remove leading spaces using RegEx:
Hello  World   From Pankaj 	
	Hi There  
Remove trailing spaces using RegEx:
  Hello  World   From Pankaj 	
	Hi There
Remove leading and trailing spaces using RegEx:
Hello  World   From Pankaj 	
	Hi There

python 使用正则表达式从字符串中删除空格

您可以从我们的GitHub 存储库查看完整的 Python 脚本和更多 Python 示例。

参考:StackOverflow 问题

Logo

学AI,认准AI Studio!GPU算力,限时免费领,邀请好友解锁更多惊喜福利 >>>

更多推荐