Python에서 strip()
을 이용하면 문자열에서 특정 문자를 제거할 수 있습니다.
Java 등의 다른 언어들도 strip()
을 제공하며, 기능은 모두 비슷합니다.
Python의 String은 다음 함수를 제공합니다.
strip([chars])
: 인자로 전달된 문자를 String의 왼쪽과 오른쪽에서 제거합니다.lstrip([chars])
: 인자로 전달된 문자를 String의 왼쪽에서 제거합니다.rstrip([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
참고
Recommended Posts:
- Python - dict 정렬 (Key, Value로 sorting)
- Python - String을 bytes로 변경하는 방법
- Python - bytes를 String으로 변환하는 방법
- Python - 리스트에서 첫번째, 마지막 요소 가져오는 방법
- Python - 문자열에서 특정 단어 추출
- Python - float을 int로 변경하는 방법
- Python - 특정 문자열로 시작하는 문자열 찾기
- Python - dictionary의 중복 제거 방법
- Python - 리스트가 비어있는지 확인
- Python - 문자열 뒤집기, 문자열 거꾸로 출력
- Python - 현재 날짜, 시간 가져오는 방법
- Python - 두개의 리스트 하나로 합치기
- Python - 리스트 크기(size) 구하기