【问题标题】:regular expression to remove extra spaces from the line in python [duplicate]正则表达式从python中的行中删除多余的空格[重复]
【发布时间】:2018-07-11 14:25:07
【问题描述】:
data =  "        Taylors Lakes, VIC        "

我需要正则表达式从这个字符串中删除多余的空格,而不是从单词之间删除,以便字符串看起来像这样

data = "维多利亚州泰勒湖"

【问题讨论】:

  • 这在以后可能会有所帮助:s = " extra spaces "; s2 = ' '.join(s.split()) s2 将是“额外的空格”。虽然,这里没有显示 s 在末端和中间有多个空格。

标签: python regex


【解决方案1】:
  1. 粘贴您的代码而不是屏幕截图
  2. 不要使用正则表达式,而是使用 .strip() 删除开头和结尾的所有空格:
data = data.strip()

【讨论】:

    【解决方案2】:

    您不需要正则表达式。只需使用

    "    abc   ".strip()
    

    data = data.strip()
    

    【讨论】:

      【解决方案3】:

      您可以只使用strip() 方法,它会从字符串中删除开头和结尾的空格。

      data = "            Taylors Lakes, VIC            "
      print(data.strip())
      

      输出:维多利亚州泰勒湖队

      但是,如果你仍然想使用 regex,下面的代码会做到这一点:

      import re
      data = "            Taylors Lakes, VIC            "
      
      data = re.sub('^[ \t]+|[ \t]+$', '', data)
      print(data)
      

      输出:维多利亚州泰勒湖队

      【讨论】:

        【解决方案4】:

        Python 3 中的解决方案是:

        data = "            Taylors Lakes, VIC       "
        print(data.strip())
        

        输出是:

        >>> Taylors Lakes, VIC
        

        Python 2中的解决方案:

        data = "            Taylors Lakes, VIC       "
        print data.strip()
        

        输出是:

        >>> Taylors Lakes, VIC
        

        【讨论】:

        • “python3”解决方案也适用于python2
        猜你喜欢
        • 1970-01-01
        • 2019-06-21
        • 2014-11-15
        • 1970-01-01
        • 1970-01-01
        • 2017-03-03
        • 2021-07-11
        • 2018-06-11
        • 1970-01-01
        相关资源
        最近更新 更多