我正在用Python/Django构建一个网站。用户提交标签。每个标签可以包含多个单词。每个标签都有一个ID号码。我想确保格式稍有不同的标签仍然被识别为相同的标签。Python/Django:如何从字符串中删除多余的空格和制表符?
例如,如果一个用户提交了标签“电吉他”,而另一个用户提交了“electric 吉他”(这两个词之间有2个空格),我希望能够识别它们是同一个标签。
如何在这种情况下删除所有额外的空格和制表符?谢谢。
我正在用Python/Django构建一个网站。用户提交标签。每个标签可以包含多个单词。每个标签都有一个ID号码。我想确保格式稍有不同的标签仍然被识别为相同的标签。Python/Django:如何从字符串中删除多余的空格和制表符?
例如,如果一个用户提交了标签“电吉他”,而另一个用户提交了“electric 吉他”(这两个词之间有2个空格),我希望能够识别它们是同一个标签。
如何在这种情况下删除所有额外的空格和制表符?谢谢。
拆分,然后在一个单一的空间加入。
' '.join(s.split())
我会用Django的slugify
方法,其中凝结空间成一个单一的仪表板和其他有用的功能:在任何空白
from django.template.defaultfilters import slugify
然后你不需要担心大小写等情况。 – 2010-11-22 03:35:43
我认为slugify是最好的穷举解决方案,而像分裂和连接这样的解决方案只能解决这个问题。我喜欢把它留给Django的开发者。 – 2010-11-22 03:38:13
"electric guitar".split()
会给你['electric', 'guitar']
。那么将"electric \tguitar"
。
>>> import re
>>> re.sub(r'\s+', ' ', 'some test with ugly whitespace')
'some test with ugly whitespace'
可能有很多空格象下面这样:
var = " This is the example of how to remove spaces "
只是做一些简单的任务一样,使用替换功能:
realVar = var.replace(" ",'')
现在outpur是:
Thisistheexampleofhowtoremovespaces
Just Chill ......... :-)
该函数删除字符串中不是数字的所有内容。我在各地都使用它。
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
或newline =''.join(oldline.split())...花了我一分钟的时间才发现这是一个新手。 – Framester 2011-06-17 18:12:03
请注意,这将删除字符串前后的所有空白 – andychase 2013-08-02 21:27:10