문자열 처리를 하다보면 공백들이 들어간 문자열들을 볼 수 있다.
예를 들어,
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값은 공백이다.
'알고리즘 > 함수 in python' 카테고리의 다른 글
from itertools import 순열, 조합, 곱집합, 중복조합 in python (0) | 2021.11.02 |
---|---|
[백준 2108번] (Counter)통계학(평균, 중앙값, 최빈값, 범위) in python (0) | 2021.11.01 |
int형 숫자를 0을 앞에 붙인 문자열로 변경 in python (0) | 2021.10.27 |
파이썬으로 입력받기 - input() or sys.stdin.readline() (0) | 2021.10.25 |
python 딕셔너리 - items, values, 정렬 (0) | 2021.09.01 |
댓글