Удаление пробелов в строке python

Я хочу, чтобы устранить все пробелы из строки, на обоих концах, и между словами.

У меня есть этот код:

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

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 (удаляет начальные и конечные пробелы, вкладки, возвраты и каналы форм, но не удаляет их в середине строки).

Читайте также:  Снять защиту фигуры в visio

Если вы заменяете только пробелы и вкладки, вы можете получить скрытые 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 пробелов,

Одна строка кода для удаления всех лишних пробелов до, после и внутри предложения:

  1. Разделите всю строку в список.
  2. Фильтровать пустые элементы из списка.
  3. Не присоединяйся к остальным элементам

Вы можете заменить несколько пробелов на желаемый шаблон, используя следующие способы. Здесь ваш шаблон пустой строки.

Оцените статью
Добавить комментарий

Adblock detector