HOME > python > basic

Python - String strip(), rstrip(), lstrip() 사용 방법

By JS | 17 Feb 2020

Python에서 strip()을 이용하면 문자열에서 특정 문자를 제거할 수 있습니다. Java 등의 다른 언어들도 strip()을 제공하며, 기능은 모두 비슷합니다.

Python의 String은 다음 함수를 제공합니다.

  • strip([chars]) : 인자로 전달된 문자를 String의 왼쪽과 오른쪽에서 제거합니다.
  • rstrip([chars]) : 인자로 전달된 문자를 String의 왼쪽에서 제거합니다.
  • lstrip([chars]) : 인자로 전달된 문자를 String의 오른쪽에서 제거합니다.

인자를 전달하지 않을 수도 있으며, 인자를 전달하지 않으면 String에서 공백을 제거합니다.

공백(white space) 제거

다음 코드는 strip()에 인자를 전달하지 않습니다. 인자를 전달하지 않으면 문자열에서 공백을 제거합니다.

text = ' Water boils at 100 degrees '
print('[' + text.rstrip() + ']')
print('[' + text.lstrip() + ']')
print('[' + text.strip() + ']')

결과

[ Water boils at 100 degrees]
[Water boils at 100 degrees ]
[Water boils at 100 degrees]

동일한 문자 제거

인자로 문자 1개를 전달하면 그 문자와 동일한 것을 모두 제거합니다. 동일하지 않은 문자가 나올 때까지 제거합니다.

text = '0000000Water boils at 100 degrees 000'
print(text.lstrip('0'))
print(text.rstrip('0'))
print(text.strip('0'))

결과

Water boils at 100 degrees 000
0000000Water boils at 100 degrees
Water boils at 100 degrees

여러 문자 제거

인자로 여러 문자를 전달하면 그 문자들과 동일한 것들을 모두 제거합니다. 동일하지 않은 문자가 나올 때까지 제거합니다.

text = ",,,,,123.....water....pp"
print(text.lstrip(',123.p'))
print(text.rstrip(',123.p'))
print(text.strip(',123.p'))

결과

water....pp
,,,,,123.....water
water

다음 예제도 위와 동일하게 여러 문자를 인자로 전달하였습니다.

text = ' Water boils at 100 degrees '
print(text.lstrip(' Water'))
print(text.rstrip(' degrees '))
print(text.strip(' degrees '))
boils at 100 degrees
 Water boils at 100
Water boils at 100

참고