Python은 코드 가독성을 강조하는 고수준 범용 프로그래밍 언어입니다. 구조적, 객체 지향, 함수형 프로그래밍 등 다양한 프로그래밍 패러다임을 지원합니다. 파이썬은 포괄적인 표준 라이브러리 덕분에 종종 “배터리 포함”이라고 표현되기도 합니다.
이 가이드에서는 Python에서 문자열의 공백을 제거하는 다양한 방법을 알아봅니다.
전제 조건
이 가이드에 설명된 단계를 수행하려면 다음 구성 요소가 필요합니다.
-
- 올바르게 구성된 Linux 머신(예: CloudSigma의 Ubuntu VPS.
-
- 올바르게 구성된 Python 개발 환경. 다음을 확인해 보세요: Ubuntu에서 Python 개발 환경 구성하기.
-
- 적절한 텍스트 편집기(예: Brackets, VS Code, Sublime Text, Vim/NeoVim 등)
1단계 – Python 스크립트 생성
데모 목적으로 Python 스크립트 remove-space.py를 생성하고 모든 코드를 여기에 작성할 것입니다. 그런 다음 Python 인터프리터의 도움을 받아 스크립트를 실행합니다.
먼저 Python 스크립트를 생성합니다:
|
1 |
touch remove-space.py |

텍스트 편집기에서 스크립트를 엽니다:
|
1 |
nano remove-space.py |

다음으로, 문자열 변수 s 를 생성하고 문자열을 할당합니다:
|
1 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' |

만약 print() 함수를 포함하면 문자열이 어떻게 해석되는지 볼 수 있습니다:
|
1 2 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s) |

여기서,
-
- The
print()함수는 문자열을 인수로 받습니다.
- The
-
- The
print()함수는 백슬래시 문자를 해석할 수 있습니다.
- The
스크립트를 실행합니다:
|
1 |
python remove-space.py |

2단계 – 앞/뒤 공백 제거
With the help of the strip() 함수의 도움을 받아 문자열의 앞뒤 문자를 제거할 수 있습니다.
다음 코드는 strip() 함수를 변수 s:
|
1 2 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.strip()) |


참고로 strip() 함수는 모든 앞뒤 공백을 제거합니다. 앞쪽 또는 뒤쪽 공백만 제거하려면 각각 lstrip() 또는 rstrip()을 사용하세요:
|
1 2 3 4 5 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.strip()) print(s.lstrip()) print(s.rstrip()) |


3단계 – 모든 공백 제거
With the help of the replace() 함수의 도움을 받아 문자열의 내용을 바꿀 수 있습니다. 이 기능을 활용하여 모든 공백을 빈 값으로 대체함으로써 공백을 제거할 수 있습니다.
그럼 replace() 함수를 실제로 적용해 보겠습니다. 다음 코드를 확인해 보세요:
|
1 2 3 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.replace(" ", "")) |


여기서,
-
- The first parameter of
replace()의 첫 번째 매개변수는 주어진 문자열에서 찾을 패턴을 설명합니다.
- The first parameter of
-
- The second parameter of
replace()의 두 번째 매개변수는 대체될 내용을 설명합니다.
- The second parameter of
4단계 – split() 및 join()
이 섹션에서는 split() 및 join() 함수를 사용할 것입니다.
-
split(): 문자열을 받아 리스트로 나눕니다. 나누는 기준점은 구분 기호에 의해 결정됩니다.
-
join(): 리스트를 받아 다시 하나의 문자열로 합칩니다. 각 부분은 단일 공백(” “)을 사용하여 결합됩니다.
이 함수들을 실제로 적용해 보겠습니다. 다음 코드를 살펴보세요:
|
1 2 3 |
s = ' the quick BROWN fox \t\n\r\tjumps away ' print(" ".join(s.split())) |


여기서,
-
- 우리는
split(),join(), 그리고print()의 사용을 한 줄로 결합했습니다.
- 우리는
-
- The output of the
split()함수의 출력은join()함수의 인수로 전달됩니다.
- The output of the
-
- The output of the
join() 함수의 출력함수가 인수로 전달됩니다. 대상은print()함수입니다.
- The output of the
단계 5 – 다음을 사용하여 공백 제거: translate()
파이썬에서 translate() 함수는 지정된 문자를 딕셔너리 또는 매핑 테이블에 정의된 문자로 바꿉니다.
이 예제에서는 모든 공백 문자를 포함하는 string.whitespace 딕셔너리를 사용할 것입니다.
다음 코드를 살펴보세요:
|
1 2 3 4 5 |
import string s = ' the quick BROWN fox \t\n\r\tjumps away ' print(s.translate({ord(c): None for c in string.whitespace})) |


단계 6 – 정규 표현식을 사용하여 공백 제거
정규 표현식(줄여서 “regex”)은 많은 프로그래밍 언어에서 강력한 기능입니다. 모든 정규 표현식은 검색 패턴을 구성하는 일련의 문자로 구성됩니다. 정규 표현식을 사용하여 문자열에 지정된 패턴이 포함되어 있는지 확인할 수 있습니다.
파이썬도 정규 표현식을 지원하며, 텍스트 조작 능력을 크게 향상시킵니다. 이 섹션에서는 정규 표현식을 사용하여 테스트 문자열에서 발견되는 모든 공백 문자를 제거해 보겠습니다.
다음 코드를 살펴보세요:
|
1 2 3 4 5 6 7 8 9 10 11 |
import re s = ' the quick BROWN fox \t\n\r\tjumps away ' print('Remove all spaces:\n', re.sub(r"\s+", "", s), sep='') # \s는 모든 공백과 일치합니다 print('Remove leading spaces:\n', re.sub(r"^\s+", "", s), sep='') # ^는 시작 부분과 일치합니다 print('Remove trailing spaces:\n', re.sub(r"\s+$", "", s), sep='') # $는 끝 부분과 일치합니다 print('Remove leading and trailing spaces:\n', re.sub(r"^\s+|\s+$", "", s), sep='') # |는 OR 조건을 나타냅니다 |


여기서,
-
- 우리는 정규 표현식을 사용하기 위한 전용 패키지인
re를 임포트하고 있습니다.
- 우리는 정규 표현식을 사용하기 위한 전용 패키지인
마치며
이 가이드에서는 파이썬에서 문자열의 공백을 처리하는 다양한 방법을 시연했습니다. 그 과정에서 다음과 같은 다양한 함수의 간단한 사용법도 배웠습니다: split(), join(), replace(), translate() 등.
파이썬에 대해 더 자세히 알고 싶으신가요? 다음 가이드를 확인해 보세요:
댓글
아직 댓글이 없습니다. 첫 번째로 작성해 보세요.