문자열 중간에 있는 공백들을 제거하는 방법에 대해서 알아보겠습니다.

1. replace()를 이용한 방법

replace(a, b)는 문자열에서 a를 b로 변경합니다. 이것을 이용하여 아래와 같이 공백 문자를 빈문자열로 변환하여 제거할 수 있습니다.

  • 중간 공백 뿐만 아니라 앞, 뒤 공백도 제거됨
original_string = "Hello   World"
cleaned_string = original_string.replace(" ", "")
print(cleaned_string)

Output:

HelloWorld

2. 정규표현식을 이용한 방법

sub(pattern, repl, string)는 string 문자열에서 pattern에 일치하는 모든 문자열을 repl로 변경합니다. 이것을 이용하여 아래와 같이 공백 문자를 빈문자열로 변환하여 제거할 수 있습니다.

  • 중간 공백 뿐만 아니라 앞, 뒤 공백도 제거됨
  • 패턴에서 \s는 공백을 의미, +는 앞의 패턴이 1개 이상 반복되는 패턴
import re

original_string = "Hello   World"
cleaned_string = re.sub(r'\s+', '', original_string)
print(cleaned_string)

Output:

HelloWorld

3. split()을 이용한 방법

string.split()은 공백으로 문자열을 분리하고 리스트로 분리된 문자열들을 리턴합니다. 이 리스트를 join()으로 하나의 문자열로 연결하면 공백이 제거된 문자열을 만들 수 있습니다.

  • 중간 공백 뿐만 아니라 앞, 뒤 공백도 제거됨
original_string = "Hello   World"
word_list = original_string.split()
cleaned_string = ''.join(word_list)
print(cleaned_string)

Output:

HelloWorld

4. List comprehension을 이용한 방법

아래와 같이 리스트 컴프리헨션으로 각 문자를 순회하면서 공백 문자를 제거할 수 있습니다.

  • 중간 공백 뿐만 아니라 앞, 뒤 공백도 제거됨
original_string = "Hello   World"
cleaned_string = ''.join([char for char in original_string if not char.isspace()])
print(cleaned_string)

Output:

HelloWorld