13

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

7

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

Пример:

  • строка " Hello world " должна преобразоваться в "Hello world"
  • строка " Hello world" должна стать "Hello world"
  • строка "Hello world " должна превратиться в "Hello world"
  • строка "Hello world" должна остаться "Hello world"

Как правильно это сделать?

5 ответ(ов)

1

strip не ограничивается только пробельными символами. Например, вы можете использовать strip для удаления других символов, таких как запятые, точки и дефисы в начале и конце строки:

# удаляем все ведущие и завершающие запятые, точки и дефисы
title = title.strip(',.-')
0

Чтобы удалить все пробелы в начале и в конце строки myString, вы можете использовать следующий код:

myString.strip()

Этот метод возвращает новую строку, из которой убраны все пробелы, включая пробелы, табуляции и символы новой строки.

0

Это также можно сделать с помощью регулярного выражения. Вот пример:

import re

input = " Hello "
output = re.sub(r'^\s+|\s+$', '', input)
# output будет 'Hello'

В этом коде используется функция re.sub(), которая заменяет пробелы в начале и в конце строки на пустую строку. Регулярное выражение r'^\s+|\s+$' находит пробелы (\s+) в начале строки (^) и в конце строки ($).

0

Как новичку, мне стало сложно разобраться в этой теме, поэтому я придумал простой способ.

Хотя str.strip() удаляет пробелы в начале и в конце строки, он ничего не делает со пробелами между символами.

words = input("Введите слово для тестирования: ")
# Если пользователь вводит разрывные строки, это становится проблемой
# input = "   he llo, ho w are y ou  "
n = words.strip()
print(n)
# вывод "he llo, ho w are y ou" - только пробелы в начале и в конце удалены 

Вместо этого используйте str.replace(), чтобы сделать код более понятным, уменьшить количество ошибок и повысить эффективность. Следующий код можно обобщить для использования str.replace():

def whitespace(words):
    r = words.replace(' ', '')  # удаляет все пробелы
    n = r.replace(',', '|')  # другие применения replace
    return n

def run():
    words = input("Введите слово для тестирования: ")  # принимаем ввод пользователя
    m = whitespace(words)  # оборачиваем функцию в run() для улучшения удобства использования
    o = m.count('f')  # для тестирования
    return m, o

print(run())
# вывод - ('hello|howareyou', 0)

Этот подход может быть полезен при использовании схожих функций в разных местах.

0

Чтобы удалить "лишние пробелы", которые могут вызывать множество ошибок отступов при выполнении вашего кода или программы на Python, выполните следующие шаги. Если Python продолжает сообщать, что ошибка заключается в отступе в строках 1, 2, 3, 4, 5 и т.д., просто исправьте эти строки туда и обратно.

Однако, если у вас по-прежнему возникают проблемы с программой, связанные с опечатками, операторами и т.д., убедитесь, что вы внимательно прочитали сообщение об ошибке, которое выдает Python:

Первое, что нужно проверить, — это правильность ваших отступов. Если с отступами все в порядке, проверьте, есть ли у вас смешивание табуляций и пробелов в коде.

Помните: код может выглядеть нормально (для вас), но интерпретатор отказывается его выполнять. Если вы подозреваете, что проблема в этом, быстрым решением будет открыть ваш код в окне редактора IDLE, затем выберите в меню "Правка" → "Выбрать все", а затем "Формат" → "Убрать табуляцию из области". Если у вас смешаны табуляции и пробелы, это преобразует все ваши табуляции в пробелы сразу (и решит любые проблемы с отступами).

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