본문 바로가기
알고리즘/함수 in python

문자열 내부 공백 제거 in python

by lucian 2021. 10. 26.

문자열 처리를 하다보면 공백들이 들어간 문자열들을 볼 수 있다.

예를 들어,

 

1: " asdf asdf asdf asdf "

2: "asdf asdf  asdf asdf"

이런 경우들이 있다.

이럴 땐, str.strip(), str.replace(), str.split()들을 써주면서 제거해주면 가볍게 해결이 된다.

S=input()
#' asdf  asdf asdf '
print(S.split())

split()함수로 ['asdf', 'asdf', 'asdf']가 생성된다.

 

 

좌우 공백이 있는 문자열이 불편하다 싶으면,

S=input()
#' asdf asdf '

print(S.strip())

strip()함수를 써주면 'asdf asdf'가 나온다.

 

 

또한 아예 공백이 없는 문자열로 만들고 싶다?

S=input()
#'asdf asdf asdf'
S.replace(" ","")

replace()함수로 해결한다. 이러면 결과가

'asdfasdfasdf'가 나온다.

 

 

마지막으로 문자열 내부에 공백이 두번 들어간 것을 하나로 바꾸고 싶다?

S=input()
#'asdf  asdf asdf'

" ".join(S.split())

설명하자면, S.split()으로 문자열만 쪼개서 리스트에 넣어주면, 리스트 안에 요소들을 문자열로 만들어주는 join함수를 쓴다. join앞의 " ".은  " "을 리스트 요소들 사이에 넣어준다는 뜻이다.

['asdf', 'asdf' ,'asdf']인 리스트를 'asdf asdf asdf'로 만들어준다.

 

 

 

 

 

다시한번 정리하면 

  • strip() : 문자열의 앞과 끝의 공백을 없애줌
  • replace('앞', '뒤') : 문자열 내부에서 앞의 인자를 뒤의 인자로 바꿔줌
  • split() : 문자를 쪼개줌. 인자를 넣어주면 인자를 기준으로 쪼개줌. default값은 공백이다.

댓글