Я хочу, чтобы устранить все пробелы из строки, на обоих концах, и между словами.
У меня есть этот код:
но это исключает только пробелы по обе стороны строки. Как удалить все пробелы?
9 ответов
если вы хотите удалить начальные и конечные пробелы, используйте str.strip() :
если вы хотите удалить все пробелы, используйте str.replace() :
если вы хотите удалить дублирующиеся пробелы, используйте str.split() :
удалить только пробелы использовать str.replace :
удалить все пробельные символы (пробел, табуляция, перевод строки, и т. д.) Вы можете использовать split затем join :
или регулярное выражение:
если вы хотите удалить только пробелы с начала и конца, вы можете использовать strip :
вы можете также используйте lstrip удалить пробелы только из начала строки и rstrip удалить пробелы из конца строки.
альтернативой является использование регулярных выражений и match эти странные символы белого пространства тоже. Вот несколько примеров:
удалить все пробелы в строке, даже между словами:
удалить пробелы в начале строки:
удалить пробелы в конце строки:
удалить пробелы как в начале, так и в конце строка:
удалить только повторяющиеся пробелы:
(все примеры работают как в Python 2, так и в Python 3)
пробел включает в себя пробел, вкладки и CRLF. Такой элегантный и шутка строковая функция, которую мы можем использовать, это перевести:
или если вы хотите быть тщательным:
для удаления пробелов из начала и конца, используйте strip .
MaK уже указал на метод "translate" выше. И эта вариация работает с Python 3 (см. это Q & A).
strip выполняет rstrip и lstrip (удаляет начальные и конечные пробелы, вкладки, возвраты и каналы форм, но не удаляет их в середине строки).
Если вы заменяете только пробелы и вкладки, вы можете получить скрытые CRLFs, которые, по-видимому, соответствуют тому, что вы ищете, но не совпадают.
кроме того, прокладки имеет некоторые вариации:
удалить пробелы в начале и конце строки:
удалить пробелы в начале строки:
удалить пробелы в конце строки:
все три строковые функции strip lstrip и rstrip может принимать параметры строки для полосы, по умолчанию все белые пространство. Это может быть полезно, когда вы работаете с чем-то конкретным, например, вы можете удалить только пробелы, но не новые строки:
или вы можете удалить дополнительные запятые при чтении в списке строк:
408 Kalanamith [2011-11-25 16:51:00]
Я хочу удалить все пробелы из строки, с обоих концов, и между словами.
У меня есть этот код Python:
Но это устраняет пробелы с обеих сторон строки. Как удалить все пробелы?
python trim removing-whitespace
8 ответов
904 Решение Cédric Julien [2011-11-25 16:56:00]
Если вы хотите удалить начальные и конечные пробелы, используйте str.strip() :
Если вы хотите удалить все пробелы, используйте str.replace() :
Если вы хотите удалить дублированные пробелы, используйте str.split() :
165 Mark Byers [2011-11-25 16:54:00]
Чтобы удалить только пробелы, используйте str.replace :
Чтобы удалить все пробельные символы (пробел, табуляция, новая строка и т.д.), вы можете использовать split , затем join :
или регулярное выражение:
Если вы хотите удалить только пробелы с начала и конца, вы можете использовать strip :
Вы также можете использовать lstrip для удаления пробелов только с начала строки, а rstrip удалить пробел из конца строки.
Если вы также хотите удалить все другие странные символы пробелов, которые существуют в юникоде, вы можете использовать re.sub с аргументом re.UNICODE:
. потому что вы действительно хотите сохранить эти странные символы Юникода?
22 MaK [2015-11-28 06:36:00]
Пробелы содержат пробел, вкладки и CRLF. Таким образом, элегантная и однострочная строковая функция, которую мы можем использовать, – переводить. (Удивленный никто не упоминал об этом!)
‘ hello apple’.translate(None, ‘
‘)
ИЛИ, если вы хотите быть тщательным
13 wal-o-mat [2011-11-25 16:56:00]
Для удаления пробелов с начала и конца используйте strip .
MaK уже указал метод вышеперечисленного. И этот вариант работает с Python 3 (см. этот Q & A).
strip делает rstrip и lstrip (удаляет передние и конечные пробелы, вкладки, возвращает и формирует каналы, но не удаляет их в середине строки)
если вы заменяете только пробелы и вкладки, вы можете получить скрытый CRLF, который, по-видимому, соответствует тому, что вы ищете, но не то же самое.
Мне нужно удалить пробелы из строки в python. Например.
Чтобы удалить все типы символов пробела, используйте str.translate :
Вы можете заменить все пробелы функцией string.replace() :
Или любые белые шапки (включая и
) с регулярным выражением:
Имейте в виду, что в строках python неизменяемы, а функция replace string возвращает строку с замененным значением. Если вы не выполняете инструкцию в оболочке, а внутри файла,
Это заменит все белые пробелы в строке. Если вы хотите заменить только первые n пробелов,
Одна строка кода для удаления всех лишних пробелов до, после и внутри предложения:
- Разделите всю строку в список.
- Фильтровать пустые элементы из списка.
- Не присоединяйся к остальным элементам
Вы можете заменить несколько пробелов на желаемый шаблон, используя следующие способы. Здесь ваш шаблон пустой строки.