파이썬 문자열 공백 없애기
- Python/기초
- 2022. 11. 14.
반응형
반응형
파이썬 문자열 공백 없애는 방법입니다. 공백 없애는 방법에는 3가지가 있습니다.
- 파이썬 replace 함수 이용해서 공백 제거
- 파이썬 strip함수 이용 해서 공백 제거 (rstrip, lstrip)
- 정규표현식의 sub함수 이용해 공백 제거(re.sub)
1. replace 함수 이용해서 공백 제거
replace 함수는 문자를 바꿔주는 함수인데 파이썬에서는 공백도 문자로 취급하기 때문에 replace함수를 적용할 수 있습니다.
쓰는 방식은
문자열.replace(없앨 문자,바꿀 문자) 입니다.
공백은 " "으로 되어 있습니다. 이를 ""으로 바꾸면 됩니다. replace는 기존 데이터에 반영이 안되므로 새로 정의를 해주어야 합니다.
str = ' A B C D '
new_str = str.replace(" ", "")
print(new_str)
모든 공백이 사라지게 됩니다.
2. 파이썬 공백 제거 - 문자열 strip 함수 (lstrip, rstrip)
파이썬 문자열의 strip 메서드를 이용해 공백을 없앨 수 있는데 바깥쪽 공백만 가능하고 문자 사이의 공백은 제거하지 못합니다.
- 문자열.strip() : 양쪽 공백을 지웁니다.
- 문자열.lstrip() : 왼쪽 바깥 공백을 지웁니다.
- 문자열.rstrip() : 오른쪽 바깥 공백을 지웁니다.
구분을 위해 |를 넣겠습니다.
str = ' A B C D '
print(f'|{str.strip()}|')
print(f'|{str.lstrip()}|')
print(f'|{str.rstrip()}|')
3. re.sub를 이용해 공백 제거
정규표현식을 이용해서도 공백을 제거할 수 있습니다. 장점은 양쪽 사이드나 왼쪽,오른쪽, 문자사이의 공백도 다 가능합니다. 단점은 표현식을 알고 있어야 합니다.
다음과 같이 합니다.
import re
str_left = re.sub(r"^\s+", "", str)
str_right = re.sub(r"\s+$", "", str)
str_both_side = re.sub(r"^\s+|\s+$", "", str)
str_all = re.sub(r"\s", "", str)
print(f"좌측 공백 제거 : |{str_left}|")
print(f"우측 공백 제거 : |{str_right}|")
print(f"양측 공백 제거 : |{str_both_side}|")
print(f"전체 공백 제거 : |{str_all}|")
정규표현식에 \s 가 공백을 의미합니다. 공백에 대한 표현식을 사용했고 sub함수를 통해 공백제거를 실행했습니다.
정규표현식에 대한 기본 내용은 다음 포스팅에서 확인하시기 바랍니다.
관련 포스팅
'Python > 기초' 카테고리의 다른 글
[파이썬] 리스트 최대 최소값 찾기 (0) | 2023.02.01 |
---|---|
[파이썬] 파이썬내에서 패키지 확인 및 저장(터미널 필요없음) (0) | 2023.01.16 |
[Python] 리스트 csv로 저장,불러오기 (0) | 2022.08.27 |
파이썬 파일모드(파일 읽기,쓰기,추가) (0) | 2022.08.23 |
아나콘다 설치하기(리눅스 우분투) (0) | 2022.07.14 |