【问题标题】:Python/Django: How to remove extra white spaces & tabs from a string?Python/Django:如何从字符串中删除多余的空格和制表符?
【发布时间】:2023-03-18 07:25:02
【问题描述】:

我正在使用 Python/Django 构建一个网站。用户提交标签。每个标签可以包含多个单词。每个标签都有一个 ID 号。我想确保格式略有不同的标签仍被识别为相同的标签。

例如,如果一个用户提交了“电吉他”标签,而另一个用户提交了“电吉他”(两个单词之间有 2 个空格),我希望能够识别它们是同一个标签。

在这种情况下,如何删除所有多余的空格和制表符?谢谢。

【问题讨论】:

    标签: python django string


    【解决方案1】:

    在任何空白处分割,然后在单个空格处加入。

    ' '.join(s.split())
    

    【讨论】:

    • or newline = ' '.join(oldline.split()) ... 作为一个新手,我花了一分钟时间才发现这一点。
    • 请注意,这会删除字符串前后的所有空格
    【解决方案2】:
    >>> import re
    >>> re.sub(r'\s+', ' ', 'some   test with     ugly  whitespace')
    'some test with ugly whitespace'
    

    【讨论】:

      【解决方案3】:

      我会使用 Django 的 slugify 方法,它将空格压缩成一个破折号和其他有用的功能:

      from django.template.defaultfilters import slugify
      

      【讨论】:

      • 那么你也不用担心大小写之类的事情了。
      • 我认为 slugify 是最好的详尽的解决方案,而像拆分和连接这样的东西专门解决了这个问题。我喜欢把它留给 Django 开发人员。
      【解决方案4】:

      "electric guitar".split() 会给你['electric', 'guitar']"electric \tguitar" 也是如此。

      【讨论】:

        【解决方案5】:

        此函数删除字符串中所有非数字的内容。我到处都用它。

        def parseInt(string):
            if isinstance(string, (str, int, unicode)):
                try:
                    digit = int(''.join([x for x in string if x.isdigit() ]))
                except ValueError:
                    return False
                else:
                    return digit
            else:
                return False   
        

        【讨论】:

          【解决方案6】:

          可能有很多空格,如下所示:

          var = "         This      is the example  of how to remove spaces   "
          

          只需做简单的任务,例如使用替换功能:

          realVar = var.replace(" ",'')
          

          现在输出将是:

          Thisistheexampleofhowtoremovespaces 
          

          只是冷静...... :-)

          【讨论】:

          • 由于这会删除空格,因此它不是问题问题的正确答案
          猜你喜欢
          • 2011-08-05
          • 2013-06-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-07-24
          相关资源
          最近更新 更多