본문 바로가기
Developer/Python

Python 공백 제거 하는 방법 3가지 (모든 공백, 왼쪽 공백, 오른쪽 공백, 양쪽 공백, 원하는 공백 제거)

by roqkfrlfhr 2021. 12. 24.

Python 공백 제거 하는 방법 3가지 (모든 공백, 왼쪽 공백, 오른쪽 공백, 양쪽 공백, 원하는 공백 제거)

 

파이썬에서 문자열을 다룰 때 공백제거해야할 때가 있습니다.

Python에서 공백제거하는 방법 3가지를 알려드리도록 하겠습니다.

 

3가지 방법은 아래와 같습니다.

  1. replace() 사용 - 모든 공백 제거
  2. strip(), lstrip(), rstrip() 사용 - 양쪽, 왼쪽, 오른쪽 공백 제거
  3. re.sub() 사용 - 정규표현식 사용으로 원하는대로 공백 제거

그럼 하나씩 알려드리도록 하겠습니다.

 

1. replace() 사용 - 모든 공백 제거

string = "   안녕하세요. 나를 위한 것만은 아닌 기록 블로그에 방문해 주셔서 감사합니다.     "

result = string.replace(" ", "")

print(f"아직 공백 제거 전 : |{string}|")
print(f"전체 공백 제거 후 : |{result}|")

# Output
# 아직 공백 제거 전 : |   안녕하세요. 나를 위한 것만은 아닌 기록 블로그에 방문해 주셔서 감사합니다.     |
# 전체 공백 제거 후 : |안녕하세요.나를위한것만은아닌기록블로그에방문해주셔서감사합니다.|

Python에서 문자열을 변경할 때 사용하는 replace() 를 사용하여 간단하게

문자열의 모든 공백을 제거할 수 있습니다.

 

 

2. strip(), lstrip(), rstrip() 사용 - 양쪽, 왼쪽, 오른쪽 공백 제거

string = "   안녕하세요. 나를 위한 것만은 아닌 기록 블로그에 방문해 주셔서 감사합니다.     "

result_lstrip = string.lstrip()
result_rstrip = string.rstrip()
result_strip = string.strip()

print(f"아직 공백 제거 전 : |{string}|")
print(f"좌측 공백 제거 후 : |{result_lstrip}|")
print(f"우측 공백 제거 후 : |{result_rstrip}|")
print(f"양측 공백 제거 후 : |{result_strip}|")

# Output
# 아직 공백 제거 전 : |   안녕하세요. 나를 위한 것만은 아닌 기록 블로그에 방문해 주셔서 감사합니다.     |
# 좌측 공백 제거 후 : |안녕하세요. 나를 위한 것만은 아닌 기록 블로그에 방문해 주셔서 감사합니다.     |
# 우측 공백 제거 후 : |   안녕하세요. 나를 위한 것만은 아닌 기록 블로그에 방문해 주셔서 감사합니다.|
# 양측 공백 제거 후 : |안녕하세요. 나를 위한 것만은 아닌 기록 블로그에 방문해 주셔서 감사합니다.|

Python에는 문자열의 좌측, 우측, 양측의 공백제거할 수있는 함수가 존재합니다.

  • strip() : 양측 공백 제거
  • lstrip() : 좌측 공백 제거 (left + strip)
  • rstrip() : 우측 공백 제거 (right + strip)

문자열 사이사이의 모든 공백을 지우지는 못하지만 왼쪽, 오른쪽, 양쪽의 공백만을 지우고싶을 때 유용하게 사용하실 수 있습니다.

 

 

3. re.sub() 사용 - 정규표현식 사용으로 원하는대로 공백 제거

import re

string = "   안녕하세요. 나를 위한 것만은 아닌 기록 블로그에 방문해 주셔서 감사합니다.     "

result_remove_left = re.sub(r"^\s+", "", string)
result_remove_right = re.sub(r"\s+$", "", string) 
result_remove_both_side = re.sub(r"^\s+|\s+$", "", string)
result_remove_all = re.sub(r"\s", "", string)

print(f"아직 공백 제거 전 : |{string}|")
print(f"좌측 공백 제거 후 : |{result_remove_left}|")
print(f"우측 공백 제거 후 : |{result_remove_right}|")
print(f"양측 공백 제거 후 : |{result_remove_both_side}|")
print(f"전체 공백 제거 후 : |{result_remove_all}|")

# Output
# 아직 공백 제거 전 : |   안녕하세요. 나를 위한 것만은 아닌 기록 블로그에 방문해 주셔서 감사합니다.     |
# 좌측 공백 제거 후 : |안녕하세요. 나를 위한 것만은 아닌 기록 블로그에 방문해 주셔서 감사합니다.     |
# 우측 공백 제거 후 : |   안녕하세요. 나를 위한 것만은 아닌 기록 블로그에 방문해 주셔서 감사합니다.|
# 양측 공백 제거 후 : |안녕하세요. 나를 위한 것만은 아닌 기록 블로그에 방문해 주셔서 감사합니다.|
# 전체 공백 제거 후 : |안녕하세요.나를위한것만은아닌기록블로그에방문해주셔서감사합니다.|

Python에서 정규표현식에 관련된 함수들을 가지고 있는 re 모듈의 sub() 함수를 사용하여 공백을 제거할 수 있습니다.

re.sub() 를 사용하여 공백을 지우려고 하신다면 위와같이,

정규식으로 원하는대로 입력하셔서 좌측, 우측, 양측, 전체 공백 제거가 모두 가능합니다.

 

 


관련 정보

 

Python 문자열 중복되는 공백 하나의 공백으로 만드는 방법, 제거 방법 2가지

Python 문자열 중복되는 공백 하나의 공백으로 만드는 방법, 제거 방법 2가지 Python에서 문자열을 다룰 때 공백이 여러개로 중복되어있는 부분을 하나의 공백으로 만들거나 제거해야할 때

jsikim1.tistory.com

 


 

이상으로 Python에서 공백을 제거하는 방법 3가지에 대한 설명을 마치도록 하겠습니다.

원하는 기능을 하는 방법 중 자신이 편한 방법을 선택하셔서 유용하게 잘 사용하시길 바랍니다!

 

 

도움이 되셨다면 공감, 댓글 부탁드립니다!

궁금하신 점이나 요청사항은 언제든지 말씀해주세요!

피드백도 언제나 환영입니다!

 

감사합니다.


댓글