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

Введение

Python предоставляет три метода, которые вы можете использовать для обрезки пробелов из строки и возврата нового объекта строки. Методы обрезки строки могут удалять ведущие пробелы, хвостовые пробелы или и те, и другие. Чтобы узнать больше об удалении пробелов, включая способы удаления всех пробелов или только повторяющихся пробелов, обратитесь к Как удалить пробелы из строки в Python.

Пробел включает в себя все символы пробелов Unicode, такие как пробелы, табуляции (\t), возвраты каретки (\r) и символы новой строки (\n). У класса Python str() есть следующие методы, которые вы можете использовать для обрезки пробелов из строки:

  • strip([chars]): Обрезает символы с обоих концов строки. Когда chars опущен или None, возвращает новую строку с удаленными всеми ведущими и хвостовыми пробелами.
  • rstrip([chars]): Обрезает символы с правой стороны строки. Когда chars опущен или None, возвращает новую строку с удаленными всеми хвостовыми пробелами.
  • lstrip([chars]): Обрезает символы с левой стороны строки. Когда chars опущен или None, возвращает новую строку с удаленными всеми ведущими пробелами.

Удаление пробелов из строки с использованием методов Strip

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

s1 = '  shark  '
print(f"string: '{s1}'")

s1_remove_leading = s1.lstrip()
print(f"remove leading: '{s1_remove_leading}'")

s1_remove_trailing = s1.rstrip()
print(f"remove trailing: '{s1_remove_trailing}'")

s1_remove_both = s1.strip()
print(f"remove both: '{s1_remove_both}'")

Вывод:

string: '  shark  '
remove leading: 'shark  '
remove trailing: '  shark'
remove both: 'shark'

Приведенный ниже пример демонстрирует, как использовать те же методы обрезки для удаления нескольких символов пробела из строки:

s2 = '  \n shark\n squid\t  '
print(f"string: '{s2}'")

s2_remove_leading = s2.lstrip()
print(f"remove leading: '{s2_remove_leading}'")

s2_remove_trailing = s2.rstrip()
print(f"remove trailing: '{s2_remove_trailing}'")

s2_remove_both = s2.strip()
print(f"remove both: '{s2_remove_both}'")

Вывод:

Output
string: ' shark squid ' remove leading: 'shark squid ' remove trailing: ' shark squid' remove both: 'shark squid'

Вывод показывает, что использование методов обрезки с опущенным аргументом chars удаляет только ведущие и конечные пробелы, символы новой строки и табуляции из строки. Любые пробелы, которые не находятся в самом начале или конце строки, не удаляются.

Удаление определенного символа пробела из строки с использованием методов Strip

Также можно удалить только один или несколько символов из начала и конца строки, указав аргумент chars. Ниже приведен пример демонстрации удаления только ведущего символа новой строки из строки:

s3 = '\n  sammy\n  shark\t  '
print(f"string: '{s3}'")

s3_remove_leading_newline = s3.lstrip('\n')
print(f"remove only leading newline: '{s3_remove_leading_newline}'")

Вывод:

Output
string: ' sammy shark ' remove only leading newline: ' sammy shark '

Вывод показывает, что метод lstrip() удаляет ведущий символ новой строки, но не удаляет ведущие пробелы из строки.

Обратите внимание, что метод strip удаляет только определенные символы, когда они являются самыми внешними ведущими и завершающими символами. Например, вы не можете использовать rstrip() для удаления только ведущего символа табуляции из s3 = '\n sammy\n shark\t ' из-за пробелов после \t.

Вывод

В этой статье вы использовали методы strip(), rstrip() и lstrip() для удаления ведущих и завершающих пробелов из строк. Чтобы узнать, как удалить пробелы и символы внутри строк, см. Как удалить пробелы из строки в Python. Продолжайте обучение с другими руководствами по строкам в Python.

Source:
https://www.digitalocean.com/community/tutorials/python-trim-string-rstrip-lstrip-strip