Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python/Django:如何删除额外的空格&;字符串中的制表符?_Python_Django_String - Fatal编程技术网

Python/Django:如何删除额外的空格&;字符串中的制表符?

Python/Django:如何删除额外的空格&;字符串中的制表符?,python,django,string,Python,Django,String,我正在用Python/Django构建一个网站。用户提交标签。每个标记可以包含多个单词。每个标签都有一个ID号。我想确保格式稍有不同的标记仍被识别为相同的标记 例如,如果一个用户提交了标签“电吉他”,另一个用户提交了“电吉他”(两个单词之间有两个空格),我希望能够识别它们是相同的标签 在这种情况下,如何删除所有额外的空格和制表符?谢谢。我会使用Django的slagify方法,它将空格压缩成一个破折号和其他有用的功能: from django.template.defaultfilters im

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

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


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

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

from django.template.defaultfilters import slugify

在任意空格上拆分,然后在单个空格上联接

' '.join(s.split())

“电吉他”。split()
将为您提供
[“电吉他”]
。因此将
“electric\tguitar”

可能会有许多空白,如下所示:

var = "         This      is the example  of how to remove spaces   "
只需执行简单任务,如使用替换功能:

realVar = var.replace(" ",'')
现在的输出是:

Thisistheexampleofhowtoremovespaces 

冷静点……:-)

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

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   

那么你也不必担心像case这样的问题。我认为Slagify是最好的穷举解决方案,而像拆分和连接这样的事情恰恰解决了这个问题。我喜欢让Django开发人员来决定。或者新行=“”.join(oldline.split())。。。作为一个新手,我花了一分钟的时间才发现这一点。请注意,这会删除字符串前后的所有空格
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