Вы должны (почти) всегда нормализовать пробелы в любой текстовой строке, которая предназначена для вставки в базу данных (или для многих других целей).
Чтобы нормализовать пробелы, нужно (1) убрать все начальные пробелы (2) убрать любые конечные пробелы (3) заменить любые внутренние пробелы (длина> = 1) пробелов ровно на 1 ПРОБЕЛ (U + 0020).
Пробелы не должны ограничиваться тем, что предоставляет стандартный Python, особенно если вы работаете в Python 2.X и не используете объекты Unicode. Например, в локали «C» по умолчанию «\ xA0» не рассматривается как пробел, но очень вероятно, что он представляет собой пространство без разрывов (U + 00A0).
Пример кода для Python 2.X:
def normalize_white_space_u(unicode_object):
return u' '.join(unicode_object.split())
def normalize_white_space_s(str_object):
return ' '.join(str_object.replace('\xA0', ' ').split())
Обобщение второй функции: замените каждое вхождение нестандартного символа пробела одним пробелом, а затем выполните танец с расщеплением.