Python字符串去空格:掌握高效移除空白字符的多种方法与技巧
引言
本教程提供了多种示例方法,用于在Python中删除字符串中的空白字符。
Python中的字符串是不可变的,这意味着您无法直接更改其值。任何对字符串值进行操作的方法都会返回一个新的字符串。
信息
使用 Silicon Cloud App 平台从 GitHub 部署您的 Python 应用程序,让 Silicon Cloud 专注于扩展您的应用。本教程中的示例使用 Python 交互式控制台在命令行中展示不同的去除空白字符方法。示例使用以下字符串:
s = ' Hello World From Silicon Cloud \t\n\r\tHi There '
输出是:
Hello World From Silicon Cloud Hi There
此字符串包含不同类型的空白字符和换行符,如空格( )、制表符(\t)、换行符(\n)和回车符(\r)。
使用strip()
方法去除首尾空白字符
Python 字符串的strip()
方法可以从字符串中删除前导和尾随的字符。默认情况下,要删除的字符是空白字符。
声明字符串变量:
使用
strip()
方法来移除前后的空白字符。输出是:
输出'Hello World From Silicon Cloud \t\n\r\tHi There'
如果您只希望删除前导空白字符或尾随空白字符,那么可以使用
lstrip()
和rstrip()
方法。使用
replace()
方法移除所有空白字符您可以使用
replace()
方法从字符串中移除所有空白字符,包括单词之间的空格。声明一个字符串变量:
使用
replace()
方法将空格替换为空字符串。结果是:
输出'HelloWorldFromSiliconCloud\t\n\r\tHiThere'
使用
join()
和split()
方法去除重复的空白字符和换行符您可以结合使用
join()
方法和split()
方法来删除所有重复的空白字符和换行符。在这个例子中,split()
方法将字符串拆分成一个列表,默认使用任何空白字符作为分隔符。然后,join()
方法将列表中的元素连接成一个字符串,每个单词之间以一个空格(” “)隔开。声明字符串变量:
使用
join()
和split()
方法一起去除重复的空白字符和换行符:输出为:
输出'Hello World From Silicon Cloud Hi There'
使用
translate()
方法去除所有的空白字符和换行符你可以使用
translate()
方法去除所有的空白字符和换行符。translate()
方法会用预定义的字典或映射表中的字符来替换指定的字符。下面的例子使用了自定义字典,该字典使用了string.whitespace
字符串常量,该常量包含了所有的空白字符。自定义字典{ord(c): None for c in string.whitespace}
会将string.whitespace
中的所有字符替换为None
。导入字符串模块,以便可以使用
string.whitespace
。import string
声明字符串变量:
s = ' Hello World From Silicon Cloud \t\n\r\tHi There '
使用
translate()
方法去除所有空白字符。s.translate({ord(c): None for c in string.whitespace})
输出结果是:
输出'HelloWorldFromSiliconCloudHiThere'
使用正则表达式去除空白字符
您还可以使用正则表达式来匹配空白字符,并使用
re.sub()
函数将其移除。这个例子使用文件
regexspaces.py
来展示一些使用正则表达式去除空白字符的方法。regexspaces.py
import re s = ' Hello World From Silicon Cloud \t\n\r\tHi There ' 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='') # | 表示或条件
通过命令行运行文件:
python3 regexspaces.py
你将获得如下的输出结果:
使用正则表达式移除所有空白字符: HelloWorldFromSiliconCloudHiThere 使用正则表达式移除前导空白字符: Hello World From Silicon Cloud Hi There 使用正则表达式移除尾随空白字符: Hello World From Silicon Cloud Hi There 使用正则表达式移除前导和尾随空白字符: Hello World From Silicon Cloud Hi There
结论
在本教程中,你学习了在Python中从字符串中移除空白字符的多种方法。请继续学习有关Python字符串的更多知识。