Как удалить ведущие пробелы в 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