【发布时间】:2023-03-18 07:25:02
【问题描述】:
我正在使用 Python/Django 构建一个网站。用户提交标签。每个标签可以包含多个单词。每个标签都有一个 ID 号。我想确保格式略有不同的标签仍被识别为相同的标签。
例如,如果一个用户提交了“电吉他”标签,而另一个用户提交了“电吉他”(两个单词之间有 2 个空格),我希望能够识别它们是同一个标签。
在这种情况下,如何删除所有多余的空格和制表符?谢谢。
【问题讨论】:
我正在使用 Python/Django 构建一个网站。用户提交标签。每个标签可以包含多个单词。每个标签都有一个 ID 号。我想确保格式略有不同的标签仍被识别为相同的标签。
例如,如果一个用户提交了“电吉他”标签,而另一个用户提交了“电吉他”(两个单词之间有 2 个空格),我希望能够识别它们是同一个标签。
在这种情况下,如何删除所有多余的空格和制表符?谢谢。
【问题讨论】:
在任何空白处分割,然后在单个空格处加入。
' '.join(s.split())
【讨论】:
>>> import re
>>> re.sub(r'\s+', ' ', 'some test with ugly whitespace')
'some test with ugly whitespace'
【讨论】:
我会使用 Django 的 slugify 方法,它将空格压缩成一个破折号和其他有用的功能:
from django.template.defaultfilters import slugify
【讨论】:
"electric guitar".split() 会给你['electric', 'guitar']。 "electric \tguitar" 也是如此。
【讨论】:
此函数删除字符串中所有非数字的内容。我到处都用它。
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
【讨论】:
可能有很多空格,如下所示:
var = " This is the example of how to remove spaces "
只需做简单的任务,例如使用替换功能:
realVar = var.replace(" ",'')
现在输出将是:
Thisistheexampleofhowtoremovespaces
只是冷静...... :-)
【讨论】: