12

Удалить все пробелы в строке

14

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

У меня есть следующий код на Python:

def my_handle(self):
    sentence = ' hello  apple  '
    sentence.strip()

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

5 ответ(ов)

0

Для удаления пробелов в начале и конце строки используйте метод strip.

>> "  foo bar   ".strip()
"foo bar"
0

Будьте осторожны:

Функция strip выполняет операции rstrip и lstrip (удаляет пробелы, табуляции, символы возврата каретки и переводов строки в начале и в конце строки, но не удаляет их в середине строки).

Если вы заменяете только пробелы и табуляции, вы можете столкнуться с невидимыми символами CRLF, которые будут казаться тем, что вы ищете, но на самом деле это не так.

0

Чтобы удалить все пробелы из строки, как в начале и конце, так и между словами, вы можете использовать модуль re для работы с регулярными выражениями. Вот пример кода, который выполняет эту задачу:

import re

result = re.sub(r"\s+", '', ''' hello
    apple
''')
print(result)  # Вывод: 'helloapple'

В данном коде re.sub заменяет все последовательности пробельных символов (включая пробелы, табуляции и переносы строк) на пустую строку, effectively удаляя их. Обратите внимание, что регулярное выражение \s+ находит одно или более вхождений пробельных символов.

Дополнительные ссылки:

0

Вы можете использовать метод split(), чтобы игнорировать все пробелы, а затем метод join(), чтобы объединить строки.

Вот пример:

sentence = ''.join(' hello  apple  '.split())
print(sentence) #=> 'helloapple'

Мне нравится этот подход, поскольку он представляет собой всего лишь выражение (а не оператор).

Это просто в использовании и не требует привязывания результата к переменной.

print(''.join(' hello  apple  '.split())) # нет необходимости в привязывании к переменной
0

Исходный код на Python использует модуль re для работы с регулярными выражениями и для удаления пробелов из строки. Рассмотрим каждую строку кода:

import re    
sentence = ' hello  apple'

Здесь мы импортируем модуль re и создаем строку sentence, которая содержит начальный текст с пробелами.

Для удаления все пробелов из строки используется следующий код:

re.sub(' ','',sentence) # helloworld (удаляем все пробелы)

В этом выражении re.sub ищет все одиночные пробелы (' ') и заменяет их на пустую строку. В результате строка преобразуется в 'helloworld'.

Для удаления двойных пробелов и замены их на одинарные пробелы используется следующий код:

re.sub('  ',' ',sentence) # hello world (удаляем двойные пробелы)

В этом случае re.sub ищет двойные пробелы (' ') и заменяет их на один пробел, что приводит к строке 'hello world'.

Если вам нужно более универсальное решение для удаления лишних пробелов (как одиночных, так и двойных) из строки, вы можете использовать следующее регулярное выражение:

re.sub(r'\s+', ' ', sentence).strip() # hello apple

Здесь \s+ находит один или более пробелов, а strip() удаляет пробелы в начале и конце строки. Это обеспечит более чистую обработку текста.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь