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