알고리즘/함수 in python
문자열 내부 공백 제거 in python
lucian
2021. 10. 26. 21:51
문자열 처리를 하다보면 공백들이 들어간 문자열들을 볼 수 있다.
예를 들어,
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값은 공백이다.