简介

如果您了解了 Python 字符串,那么您就会知道 -

Python 字符串是不可变的,即不能更改。当我们尝试使用任何函数或方法操作字符串时,它会返回修改后的字符串而不是原始字符串,我们会在程序中处理修改后的字符串。

在本教程中,我们将讨论使用各种方法和函数从字符串中删除空格字符的一些方法

我们将看到以下方法:

  • **str.strip()**

  • **str.replace()**

  • **str.split()**

  • **str.lstrip() and str.rstrip()**

  • **re.sub()**

让我们上手,一一看看上面提到的功能。

条带()

在我们脑海中点击删除空白字符的第一件事是使用** zwz100010 str.strip() zwz100011 zwz100009 **函数。

它删除了前导尾随空格字符,这意味着它删除了字符串开头和结尾的空格

my_str = "      G e e k P y t h o n.      "

output = my_str.strip()
print(f"Removed whitespaces using strip: {output}")

输出

>>> Removed whitespaces using strip: G e e k P y t h o n.

**strip()**方法从**my_str**中删除了前导和尾随空格。

替换()

Python** zwz100020 replace() zwz100021 zwz100019 **函数从字符串中删除所有空格字符,包括单词之间的空格

my_str = "      G e e k P y t h o n.      "

output = my_str.replace(" ", "")
print(f"Removed whitespaces using replace: {output}")

输出

>>> Removed whitespaces using replace: GeekPython.

在这里,我们将字符串中的所有空格都替换为没有空格,因此,所有空格都被成功删除。

拆分()

我们可以使用** zwz100027 split() zwz100028 zwz100026 **函数从字符串中删除重复的空白字符,但我们必须从**join()**函数中获取帮助。

my_str = "      G e e k P y t h o n.      "

output = " ".join(my_str.split())
print(f"Removed whitespaces using split: {output}")

输出

>>> Removed whitespaces using split: G e e k P y t h o n.

lstrip() 和 rstrip()

如果您还记得**str.strip()**方法,它会从字符串中删除前导和尾随空格。

** zwz100033 lstrip() zwz100034 zwz100032 **** zwz100036 rstrip() zwz100037 zwz100035 **- 把它们想象成 strip() 方法分为两部分。

**lstrip()**- 从字符串中删除前导空白字符

**rstrip()**- 从字符串中删除尾随空格字符

my_str = "      G e e k P y t h o n.      "

output = my_str.lstrip()
print(f"Using l-strip method: {output}")

output1 = my_str.rstrip()
print(f"Using r-strip method: {output1}")

输出

>>> Using l-strip method: G e e k P y t h o n.      
>>> Using r-strip method:       G e e k P y t h o n.

使用正则表达式

我们可以使用正则表达式通过匹配空格字符来删除空格,然后使用** zwz100045 re.sub() zwz100046 zwz100044 **方法进行替换。

语法很简单

重新导入

my_str u003d re.sub(r"\s+", "", 句子)

这里,开头的**"r"**表示字符串应该被视为**“原始字符串”**。

**"\s+"**表示空白字符出现一次或多次。

让我们看一些例子

删除所有空白字符

import re

my_str = "      G e e k P y t h o n.      "

# Removed all the whitespaces
output = re.sub(r"\s+", "", my_str)
print(f"Removed all the whitespaces: {output}")

输出

>>> Removed all the whitespaces: GeekPython.

在这里,我们用没有空格的地方替换了所有空格。

从开头删除空格

import re

my_str = "      G e e k P y t h o n.      "

# Removed whitespace from the start
output1 = re.sub(r"^\s+", "", my_str)
print(f"Removed whitespace from the start: {output1}")

输出

>>> Removed whitespace from the start: G e e k P y t h o n.

在这里,我们使用**"^\s+"**正则表达式模式从字符串的开头删除空格。

从 END 中删除空格

import re

my_str = "      G e e k P y t h o n.      "

# Removed whitespace from the end
output2 = re.sub(r"\s+$", "", my_str)
print(f"Removed whitespace from the end: {output2}")

输出

>>> Removed whitespace from the end:       G e e k P y t h o n.

在这里,我们使用**"\s+$"**正则表达式模式从字符串末尾删除空格。

删除字符串开头和结尾的空格

import re

my_str = "      G e e k P y t h o n.      "

# Remove spaces both in the BEGINNING and at the END of a string:
output3 = re.sub(r"^\s+|\s+$", "", my_str)
print(f"Removed spaces both in the BEGINNING and at the END of a string: {output3}")

输出

>>> Removed spaces both in the BEGINNING and at the END of a string: G e e k P y t h o n.

在这里,我们使用**"^\s+|\s+$"**正则表达式模式从字符串的开头和结尾删除空格。

删除重复的空格

import re

my_str = "      G e e k P y t h o n.      "

# Remove DUPLICATE spaces:
output4 = " ".join(re.split("\s+", my_str))
print(f"Removed DUPLICATE spaces: {output4}")

输出

>>> Removed DUPLICATE spaces:  G e e k P y t h o n.

如果您还记得使用**.join()****str.split()**方法 - 在这里,我们使用相同的方法,而不是使用** zwz100056 re.split() zwz100057 zwz100055 **函数。

结论

在处理文本数据的项目时,您已经了解了一些清理 Python 字符串并应用它们的方法。

在上述方法中,您可以根据自己的要求和舒适度选择任何方法。

如果你想深入了解上面讨论的函数,可以访问 Python字符串方法的官方文档。


目前为止就这样了。

继续编码✌✌

Logo

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

更多推荐