Python / Django:如何删除多余的空格&字符串中的标签?

时间:2010-11-22 02:31:00

标签: python django string

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

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

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

6 个答案:

答案 0 :(得分:51)

在任何空格上拆分,然后加入一个空格。

' '.join(s.split())

答案 1 :(得分:20)

>>> import re
>>> re.sub(r'\s+', ' ', 'some   test with     ugly  whitespace')
'some test with ugly whitespace'

答案 2 :(得分:7)

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

from django.template.defaultfilters import slugify

答案 3 :(得分:1)

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

答案 4 :(得分:-1)

此函数删除字符串中不是数字的所有内容。我把它用在了整个地方。

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   

答案 5 :(得分:-9)

下面可能有很多白色空间:

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

只需执行简单的任务,使用替换功能:

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

现在outpur将是:

Thisistheexampleofhowtoremovespaces 

Just Chill .........: - )