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()方法可以从字符串中删除前导和尾随的字符。默认情况下,要删除的字符是空白字符。

声明字符串变量:

  1. 使用strip()方法来移除前后的空白字符。

    1. 输出是:

      输出
      'Hello  World   From Silicon Cloud \t\n\r\tHi There'

      如果您只希望删除前导空白字符或尾随空白字符,那么可以使用lstrip()rstrip()方法。

      使用replace()方法移除所有空白字符

      您可以使用replace()方法从字符串中移除所有空白字符,包括单词之间的空格。

      声明一个字符串变量:

      1. 使用replace()方法将空格替换为空字符串。

        1. 结果是:

          输出
          'HelloWorldFromSiliconCloud\t\n\r\tHiThere'

          使用join()split()方法去除重复的空白字符和换行符

          您可以结合使用join()方法和split()方法来删除所有重复的空白字符和换行符。在这个例子中,split()方法将字符串拆分成一个列表,默认使用任何空白字符作为分隔符。然后,join()方法将列表中的元素连接成一个字符串,每个单词之间以一个空格(” “)隔开。

          声明字符串变量:

          1. 使用join()split()方法一起去除重复的空白字符和换行符:

            1. 输出为:

              输出
              '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字符串的更多知识。

bannerAds