Введение
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}'")
Вывод:
Outputstring: '
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}'")
Вывод:
Outputstring: '
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