웹사이트 검색

Python에서 문자열에서 공백을 제거하는 방법


소개

이 자습서에서는 Python의 문자열에서 공백을 제거하는 데 사용할 수 있는 다양한 방법의 예를 제공합니다.

Python 문자열은 변경할 수 없으므로 값을 변경할 수 없습니다. 문자열 값을 조작하는 모든 메서드는 새 문자열을 반환합니다.

이 자습서의 예제에서는 명령줄에서 Python 대화형 콘솔을 사용하여 공백을 제거하는 다양한 방법을 보여줍니다. 예제에서는 다음 문자열을 사용합니다.

s = '  Hello  World   From DigitalOcean \t\n\r\tHi There  '

출력은 다음과 같습니다.

Output
Hello World From DigitalOcean Hi There

이 문자열에는 공백( ), 탭( ), 줄 바꿈( ) 및 캐리지 리턴( ).

strip() 메서드를 사용하여 선행 및 후행 공백 제거

Python 문자열 strip() 메서드는 문자열에서 선행 및 후행 문자를 제거합니다. 제거할 기본 문자는 공백입니다.

문자열 변수를 선언합니다.

  1. s = ' Hello World From DigitalOcean \t\n\r\tHi There '

strip() 메서드를 사용하여 선행 및 후행 공백을 제거합니다.

  1. s.strip()

출력은 다음과 같습니다.

Output
'Hello World From DigitalOcean \t\n\r\tHi There'

선행 공백이나 후행 공백만 제거하려면 lstrip()rstrip() 메서드를 사용할 수 있습니다.

replace() 메서드를 사용하여 모든 공백 제거

replace() 메서드를 사용하여 단어 사이를 포함하여 문자열에서 모든 공백 문자를 제거할 수 있습니다.

문자열 변수를 선언합니다.

  1. s = ' Hello World From DigitalOcean \t\n\r\tHi There '

replace() 메서드를 사용하여 공백을 빈 문자열로 바꿉니다.

  1. s.replace(" ", "")

출력은 다음과 같습니다.

Output
'HelloWorldFromDigitalOcean\t\n\r\tHiThere'

join() 및 split() 메서드를 사용하여 중복 공백 및 줄 바꿈 문자 제거

split() 메서드와 함께 join() 메서드를 사용하여 중복된 공백 및 개행 문자를 모두 제거할 수 있습니다. 이 예에서 split() 메서드는 공백 문자의 기본 구분 기호를 사용하여 문자열을 목록으로 나눕니다. 그런 다음 join() 메서드는 목록을 다시 각 단어 사이에 단일 공백(\ \)이 있는 하나의 문자열로 결합합니다.

문자열 변수를 선언합니다.

  1. s = ' Hello World From DigitalOcean \t\n\r\tHi There '

join()split() 메서드를 함께 사용하여 중복 공백 및 개행 문자를 제거합니다.

  1. " ".join(s.split())

출력은 다음과 같습니다.

Output
'Hello World From DigitalOcean Hi There'

translate() 메서드를 사용하여 모든 공백 및 개행 문자 제거

translate() 메서드를 사용하여 모든 공백 및 개행 문자를 제거할 수 있습니다. translate() 메서드는 지정된 문자를 사전 또는 매핑 테이블에 정의된 문자로 바꿉니다. 다음 예제에서는 모든 공백 문자를 포함하는 string.whitespace 문자열 상수와 함께 사용자 정의 사전을 사용합니다. 사용자 정의 사전 {ord(c): None for c in string.whitespace}string.whitespace의 모든 문자를 None으로 바꿉니다.

string.whitespace를 사용할 수 있도록 string 모듈을 가져옵니다.

  1. import string

문자열 변수를 선언합니다.

  1. s = ' Hello World From DigitalOcean \t\n\r\tHi There '

translate() 메서드를 사용하여 모든 공백 문자를 제거합니다.

  1. s.translate({ord(c): None for c in string.whitespace})

출력은 다음과 같습니다.

Output
'HelloWorldFromDigitalOceanHiThere'

Regex를 사용하여 공백 문자 제거

정규식을 사용하여 공백 문자를 일치시키고 re.sub() 함수를 사용하여 제거할 수도 있습니다.

이 예에서는 regexspaces.py 파일을 사용하여 정규식을 사용하여 공백 문자를 제거할 수 있는 몇 가지 방법을 보여줍니다.

import re

s = '  Hello  World   From DigitalOcean \t\n\r\tHi There  '

print('Remove all spaces using regex:\n', re.sub(r"\s+", "", s), sep='')  # \s matches all white spaces
print('Remove leading spaces using regex:\n', re.sub(r"^\s+", "", s), sep='')  # ^ matches start
print('Remove trailing spaces using regex:\n', re.sub(r"\s+$", "", s), sep='')  # $ matches end
print('Remove leading and trailing spaces using regex:\n', re.sub(r"^\s+|\s+$", "", s), sep='')  # | for OR condition

명령줄에서 파일을 실행합니다.

python3 regexspaces.py

다음과 같은 결과가 나타납니다.

Remove all spaces using regex:
HelloWorldFromDigitalOceanHiThere
Remove leading spaces using regex:
Hello  World   From DigitalOcean 	
	Hi There  
Remove trailing spaces using regex:
  Hello  World   From DigitalOcean 	
	Hi There
Remove leading and trailing spaces using regex:
Hello  World   From DigitalOcean 	
	Hi There

결론

이 자습서에서는 Python의 문자열에서 공백 문자를 제거하는 데 사용할 수 있는 몇 가지 방법을 배웠습니다. Python 문자열에 대한 학습을 계속하십시오.