Подтвердить что ты не робот

Python/Django: Как удалить лишние пробелы и вкладки из строки?

Я создаю сайт с Python/Django. Пользователи отправляют теги. Каждый тег может содержать несколько слов. Каждый тег имеет идентификационный номер. Я хочу убедиться, что теги, которые отформатированы несколько иначе, по-прежнему распознаются как один и тот же тег.

Например, если один пользователь отправил тег "электрогитара" и другой представленный "электрическая гитара" (2 пробела между двумя словами), я хочу уметь распознавать, что они являются одним и тем же тегом.

Как удалить все лишние пробелы и вкладки в этом случае? Спасибо.

4b9b3361

Ответ 1

Разделите все пробелы, затем присоединитесь к одному пространству.

' '.join(s.split())

Ответ 2

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

Ответ 3

Я бы использовал метод Django slugify, который конденсирует пробелы в одну тире и другие полезные функции:

from django.template.defaultfilters import slugify

Ответ 4

"electric guitar".split() даст вам ['electric', 'guitar']. Так будет "electric \tguitar".

Ответ 5

Эта функция удаляет все, что не является цифрой в строке. Я использую его повсюду.

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   

Ответ 6

Здесь может быть много пробелов:

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

Просто выполните простую задачу, например, используйте функцию replace:

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

Теперь это будет:

Thisistheexampleofhowtoremovespaces 

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