Python 是一种高级、通用的编程语言,强调代码的可读性。它支持多种编程范式,例如结构化、面向对象和函数式编程。由于其丰富的标准库,Python 经常被描述为 “batteries included”(自带电池)。
在本指南中,我们将学习在 Python 中从字符串中删除空格的各种方法。
前提条件
要执行本指南中演示的步骤,您将需要以下组件:
-
- 一台配置妥当的 Linux 机器,例如, CloudSigma 上的 Ubuntu VPS.
-
- 一个配置妥当的 Python 开发环境。请参阅 在 Ubuntu 上配置 Python 开发环境.
-
- 一个合适的文本编辑器,例如, Brackets, VS Code, Sublime Text, Vim/NeoVim 等。
步骤 1 – 创建 Python 脚本
为了演示目的,我们将创建一个 Python 脚本 remove-space.py 并将我们所有的代码放在那里。然后,我们将在 Python 解释器的帮助下运行该脚本。
首先,创建 Python 脚本:
|
1 |
touch remove-space.py |

在文本编辑器中打开脚本:
|
1 |
nano remove-space.py |

接下来,我们将创建一个字符串变量 s 并赋值一个字符串:
|
1 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' |

如果我们包含 print() 函数,我们可以看到该字符串是如何被解析的:
|
1 2 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s) |

这里,
-
- 该
print()函数接受一个字符串作为参数。
- 该
-
- 该
print()函数可以解析反斜杠字符。
- 该
运行脚本:
|
1 |
python remove-space.py |

步骤 2 – 去除首尾空格
在 strip() 函数的帮助下,我们可以去除字符串的首尾字符。
以下代码演示了使用 strip() 函数处理变量 s:
|
1 2 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.strip()) |


请注意,strip() 函数会去除所有的首尾空格。如果您只想去除首部或尾部空格,请分别使用 lstrip() 或 rstrip():
|
1 2 3 4 5 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.strip()) print(s.lstrip()) print(s.rstrip()) |


步骤 3 – 移除所有空白字符
借助 replace() 函数,我们可以替换字符串中的内容。利用这一特性,我们可以将所有空白字符替换为空,从而将其移除。
让我们将 replace() 函数付诸实践。请看以下代码:
|
1 2 3 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.replace(" ", "")) |


这里,
-
- 第一个参数
replace()描述了在给定字符串中要寻找的模式。
- 第一个参数
-
- 第二个参数
replace()描述了替换内容。
- 第二个参数
步骤 4 – 去除空格,使用 split() 和 join()
在本节中,我们将使用 split() 和 join() 函数。
-
split():它接收一个字符串并将其拆分为一个列表。拆分点由分隔符决定。
-
join(): 它接收该列表并将其重新放入单个字符串中。这些部分使用单个空格(” “)连接。
让我们实际运用这些函数。看看下面的代码:
|
1 2 3 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(" ".join(s.split())) |


这里,
-
- 我们结合了
split(),join()、以及print()在单行中的用法。
- 我们结合了
-
- 将
split()函数的输出作为参数传递给join()函数。
- 将
-
- 将
join()函数的输出作为参数传递给print()。函数。
- 将
步骤 5 – 去除空格,使用 translate()
在 Python 中,translate() 函数将指定的字符替换为字典或映射表中定义的字符。
在这个例子中,我们将使用 string.whitespace 字典,它包含所有的空白字符。
请看以下代码:
|
1 2 3 4 5 |
import string s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.translate({ord(c): None for c in string.whitespace})) |


步骤 6 – 使用 Regex 去除空格
正则表达式(简称 “regex”)是许多编程语言中的一个强大功能。任何正则表达式都由一系列构建搜索模式的字符组成。正则表达式可用于检查字符串是否包含指定的模式。
Python 也支持 regex,从而显著提升了其文本操作能力。在本节中,我们将使用 regex 来消除测试字符串中发现的任何空白字符。
请看以下代码:
|
1 2 3 4 5 6 7 8 9 10 11 |
import re s = ' the quick BROWN fox \t\n\r\tjumps away ' print('删除所有空格:\n', re.sub(r"\s+", "", s), sep='') # \s 匹配所有空白字符 print('移除前导空格:\n', re.sub(r"^\s+", "", s), sep='') # ^ 匹配开头 print('移除尾随空格:\n', re.sub(r"\s+$", "", s), sep='') # $ 匹配结尾 print('移除前导和尾随空格:\n', re.sub(r"^\s+|\s+$", "", s), sep='') # | 表示“或”条件 |


在这里,
-
- 我们正在导入
re,这是一个用于处理正则表达式的专用包。
- 我们正在导入
结语
在本指南中,我们演示了在 Python 中处理字符串中空格的各种方法。在此过程中,我们还学习了各种函数的简单用法,例如 split(), join(), replace(), translate()等。
有兴趣了解更多关于 Python 的信息吗?请查看以下指南:
评论
暂无评论。发表第一条评论吧。