Python
공백 제거 (파이썬 함수)
by yororing
2024. 8. 23.
00 개요
- Python에서 문자열의 공백을 제거하는 함수와 메서드에 대한 정리
1. 공백 제거란
- 공백 제거: 문자열에서 불필요한 공백 문자를 제거하는 작업을 의미
- 공백 문자는 스페이스( ), 탭(\t), 줄 바꿈(\n), 캐리지 리턴(\r) 등 다양한 형태로 존재 가능
2. 목적 및 사용 사례
1) 목적
- 문자열의 불필요한 공백을 제거하여 데이터의 일관성을 유지하거나, 데이터를 처리하기 쉽게 만들기 위함
2) 사용 사례
- 입력 데이터 정리
- 사용자가 입력한 데이터에서 불필요한 공백을 제거하여 데이터가 깨끗하고 일관되도록 보장
- 예) 사용자 로그인 폼에서 사용자 이름에 추가된 공백을 제거하여 일관된 사용자 이름 추출 가능
- 파일 처리
- 파일에서 읽어온 데이터에 포함된 공백을 제거하여 데이터의 정밀도를 높이거나 분석을 용이하게 함
- 문자열 비교
- 문자열 비교 시 공백이 문제를 일으킬 수 있으므로, 공백을 제거하여 비교가 정확하게 이루어지도록 함
3. 공백 제거의 장점
- 데이터 정제: 데이터를 일관되게 정리하여 분석이나 처리에 용이하게 함
- 형식 통일: 문자열의 형식을 통일하여 비교나 검색을 정확하게 할 수 있게 함
- 오류 방지: 공백으로 인한 오류나 문제를 방지
01 공백 제거 파이썬 함수
1. str.strip()
- 기능: 문자열의 양 끝에 있는 공백 문자(스페이스, 탭, 줄 바꿈 등) 제거
s = " Hello "
result = s.strip()
print(result)
# "Hello"
2. str.lstrip()
- 기능: 문자열의 왼쪽(시작 부분)에 있는 공백 문자(스페이스, 탭, 줄 바꿈 등) 제거
s = " Hello, World! "
result = s.lstrip()
print(result)
# "Hello, World! "
3. str.rstrip()
- 기능: 문자열의 오른쪽(끝 부분)에 있는 공백 문자(스페이스, 탭, 줄 바꿈 등) 제거
s = " Hello, World! "
result = s.rstrip()
print(result)
# " Hello, World!"
4. str.replace()
- 기능: 문자열의 모든 공백 문자(특정 문자열도 가능)를 다른 문자열로 대체.
- 공백을 빈 문자열로 대체하여 공백 제거 가능
s = "Hello W orld!"
result = s.replace(" ", "")
print(result)
# "Hello World!"
5. str.split() + str.join()
- str.split() 기능: 문자열을 공백을 기준으로 나누어 리스트로 반환
- str.join(iterable) 기능: iterable한 객체의 모든 아이템을 합체시켜 한 문자열로 반환
- iterable은 tuple, list, set, dict, str 등이 올 수 있음
- str.split()과 str.join()을 함께 사용하여 문자열의 공백을 제거 및 다시 추가 가능
s = " Hello World! "
splited = s.split()
print(splited)
# ["Hello", "World!"]
result = " ".join(splited)
print(result)
# "Hello World!"
7. str.maketrans() 및 str.translate()
- str.maketrans() 기능: 문자열의 문자를 다른 문자로 치환 또는 삭제하는 변환 테이블 생성
str.maketrans(x, y, z)
# x: 변환할 문자가 포함된 문자열
# y: x의 각 문자를 대응하는 문자로 변환할 문자열. x와 y의 길이는 동일 필수
# z: 삭제할 문자가 포함된 문자열 (선택적)
# 문자 치환
translation_table = str.maketrans("ab", "12") # "a"는 "1"로, "b"는 "2"로 변환됨
# 문자 삭제
translation_table = str.maketrans("", "", "ae") # "a", "e" 문자는 삭제됨
- str.translate() 기능: str.maketrans()로 생성된 변환 테이블을 사용하여 문자열 내 문자를 변환하거나 삭제
- 두 기능을 함께 사용하면 복잡한 문자열 변환 가능
s = "Hello World!"
table = str.maketrans('', '', ' ') # ' '는 삭제됨
result = s.translate(table) # table에 적용된 법 적용
print(result) # "HelloWorld!"