본문 바로가기
코딩취미/Python

[파이썬] 다양한 빈칸, 공백을 모두 제거하는 코드

by 브링블링 2024. 2. 14.
728x90

다양한 빈칸, 공백을 모두 제거하는 코드

여러 문자열을 취합할 때, 다양한 칸수로 생성된 공백들을 제거하는 코드입니다. 기본 1칸부터 반복되는 여러칸까지 지우는 방법을 정리했습니다.

 

개인적으로 진행한 과정은 다음과 같았습니다. 1차로 1칸짜리 공백을 제거하는 코드를 넣었습니다.

그런데 사용해보니, 더 많은 공백이 있는 부분에 대한 처리가 부족해서 문자열에 여전히 공백이 있었습니다.

 

그래서 반복적으로 빈칸을 검색해서 삭제하는 것을 고민했는데, 처음에는 FOR를 생각했는데, 이것보다 더 효과적인 re 패키지를 사용해서 문제를 해결했습니다.

아까 띄어져있던 문자열이 정리된 것을 확인할 수 있었습니다. 문제해결 완료.

728x90

문자열 공백제거 참고 코드

1. str.replace() 메소드를 사용하여 모든 공백 제거

# 예시 문자열 생성
string = "This is a sample string with spaces."

# 모든 공백을 제거하여 새로운 문자열 생성
new_string = string.replace(" ", "")

# 결과 출력
print(new_string)

 

2. 정규 표현식을 사용하여 여러 개의 공백을 하나로 줄이기

import re

# 예시 문자열 생성
string = "This   is    a   sample    string   with  multiple  spaces."

# 정규 표현식을 사용하여 모든 공백을 제거하여 새로운 문자열 생성
new_string = re.sub(r'\s+', '', string)

# 결과 출력
print(new_string)

 

3. str.split()와 str.join()을 사용하여 여러 개의 공백 제거

text = "여러    공백이   들어간   문자열입니다."
words = text.split()
cleaned_text = " ".join(words)
print(cleaned_text)

 

4. 리스트 컴프리헨션과 str.join()을 사용하여 공백 제거

text = "여러    공백이   들어간   문자열입니다."
cleaned_text = " ".join([word for word in text.split()])
print(cleaned_text)

 

5. str.strip()을 사용하여 문자열 양쪽의 공백 제거 (중간 공백은 그대로 유지)

text = "   여러 공백이 들어간 문자열입니다.   "
cleaned_text = text.strip()
print(cleaned_text)
728x90