본문 바로가기
Study/Python study

[Python(파이썬)] 파이썬 공백 제거 (strip, replace)

by 파크영 2021. 12. 1.

파이썬에서 문자열 공백을 제거하는 2가지 방법

1. 문자열.strip()

2. 문자열.replace(old, new) 

 

1. 문자열.strip() 

strip함수양쪽 끝에 있는 공백 or 매개변수을 제거하는 함수이다. 

양쪽 끝에 있는 공백 or 매개변수을 제거한 후 공백을 제거한 새로운 문자열을 반환한다. 

따라서 모든 공백을 제거하지 못하고 문자열 양 끝에 있는 공백만 제거할 수 있다. 

 

  • strip, rstrip, lstrip

strip()  - 문자열 양쪽(오른쪽, 왼쪽) 공백 or 매개변수 삭제

rstrip()  - 문자열 오른쪽 공백 or 매개변수 삭제

lstrip()  - 문자열 왼쪽 공백 or 매개변수 삭제

 

공백이 제거되었는지 쉽게 확인하기 위해 list형태로 바꾸어 출력했다. 

# 공백있는 문자열
>>> test = ' abc d efg  '

>>> list(test)
[' ', 'a', 'b', 'c', ' ', 'd', ' ', 'e', 'f', 'g', ' ', ' ']

#strip - 양쪽 공백 제거
>>> list(test.strip())
['a', 'b', 'c', ' ', 'd', ' ', 'e', 'f', 'g']

#rstip - 오른쪽 공백 제거
>>> list(test.rstrip())
[' ', 'a', 'b', 'c', ' ', 'd', ' ', 'e', 'f', 'g']

#lstrip - 왼쪽 공백 제거
>>> list(test.lstrip())
['a', 'b', 'c', ' ', 'd', ' ', 'e', 'f', 'g', ' ', ' ']
 
 
test = 'abcde'
# 오른쪽 끝이나 왼쪽 끝에 e가 있으므로 제거
test.strip('e')
#출력결과
'abcd'

# 오른쪽 끝이나 왼쪽 끝에 b가 있으므로 제거하지 않음
test.strip('b')
#출력결과
'abcde'
 
 
 

2. 문자열.replace(old, new) 

replace함수 원래있던 문자를 새로운 문자로 대체하는 함수이다. 

첫번째 파라미터(old) - 기존 문자열에서 없애고 싶은 문자 or 문자열

두번째 파라미터(new) - 없애고 난 후 대체하고 싶은 문자 or 문자열

따라서 모든 공백을 제거하지 못하는 strip과 달리 replace는 모든 공백을 제거할 수 있다. 

>>> test = 'Hello hi happy'

# 공백 제거
>>> test.replace(' ','')
'Hellohihappy'

# h 제거 후 '_'로 대체 : 대소문자 구분함
>>> test.replace('h','_')
'Hello _i _appy'

# l 제거 후 공백 추가
>>> test.replace('l',' ')
'He  o hi happy'

 

공백있는문자열.replace(' ','')을 사용하여 공백을 없앨 수 있다. 

첫번째 파라미터 -> ' ' (스페이스)

두번째 파라미터 -> '' (빈 문자열)

댓글