Как удалить ведущие пробелы в Python?
У меня есть текстовая строка, которая начинается с нескольких пробелов, варьируя от 2 до 4.
Каков самый простой способ удалить ведущие пробелы? (т.е. удалить все до определенного символа?)
" Example" -> "Example"
" Example " -> "Example "
" Example" -> "Example"
Ответы
Ответ 1
Метод lstrip()
удалит ведущие пробелы, символы новой строки и табуляции в начале строки:
>>> ' hello world!'.lstrip()
'hello world!'
Edit
Как отметил Балфа в комментариях, чтобы удалить только пробелы с начала строки, следует использовать lstrip(' ')
:
>>> ' hello world with 2 spaces and a tab!'.lstrip(' ')
'\thello world with 2 spaces and a tab!'
Похожие вопросы:
Ответ 2
Функция strip
удалит пробелы с начала и конца строки.
my_str = " text "
my_str = my_str.strip()
установит my_str
в "text"
.
Ответ 3
Если вы хотите разрезать пробелы до и после слова, но сохраняйте средние.
Вы можете использовать:
word = ' Hello World '
stripped = word.strip()
print(stripped)
Ответ 4
Чтобы удалить все до определенного символа, используйте регулярное выражение:
re.sub(r'^[^a]*', '')
чтобы удалить все до первого "а". [^a]
может быть заменен любым классом символов, который вам нравится, например, символами слов.
Ответ 5
Вопрос не относится к многострочным строкам, но здесь показано, как можно удалить начальные пробелы из многострочных строк с помощью модуля переноса стандартной библиотеки python. Если бы у нас была строка вроде:
s = """
line 1 has 4 leading spaces
line 2 has 4 leading spaces
line 3 has 4 leading spaces
"""
если бы мы print(s)
получили бы вывод вроде:
>>> print(s)
this has 4 leading spaces 1
this has 4 leading spaces 2
this has 4 leading spaces 3
и если мы использовали textwrap.dedent
:
>>> import textwrap
>>> print(textwrap.dedent(s))
this has 4 leading spaces 1
this has 4 leading spaces 2
this has 4 leading spaces 3