Страницы

Поиск по вопросам

среда, 11 декабря 2019 г.

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

#python #функции


Нагуглил функцию strip(), но она удаляет только первый и последний пробел, а мне
нужно все. 
Например, если a = ' sd dfsdf  dfsfs', то нужно получить a = 'sddfsdfdfsfs'. 
Есть ли такая функция или надо через цикл как-то делать?    


Ответы

Ответ 1



a.replace(' ', '')

Ответ 2



strip() может удалить не только пробел, но и табы и другие символы, которые считаются пробелом, включая Юникодные пробелы, если strip() вызван для Юникодной строки: >>> import string >>> string.whitespace '\t\n\x0b\x0c\r ' >>> string.whitespace.strip() '' >>> import sys >>> s = ''.join(unichr(i) for i in xrange(sys.maxunicode) if unichr(i).isspace()) >>> s[:15] u'\t\n\x0b\x0c\r\x1c\x1d\x1e\x1f \x85\xa0\u1680\u180e\u2000' >>> s.strip() u'' Поэтому аналог strip(), который удаляет пробел во всей строке: s = ''.join(s.split()). Или, тоже самое, используя регулярные выражения: s = re.sub(r'\s+', '', s, flags=re.UNICODE). Или, в коде, где важна производительность, bytes.translate() может быть использован, чтобы удалить все стандартные (string.whitespace в С локале) пробелы из ascii строки: >>> b'a\tb\nc'.translate(None, b'\t\n\v\f\r ') 'abc'

Ответ 3



Если неизвестно количество пробелов, и табов, самый простой способ: a = 'Some string with meny space or tabs' b = a.split() b = ''.join(b) b >>> Somestringwithmenyspaceortabs

Комментариев нет:

Отправить комментарий