파이썬에서 문자열에서 공백을 제거하는 방법

소개

Python은 문자열에서 공백을 제거하고 새 문자열 객체를 반환하는 세 가지 방법을 제공합니다. 문자열 strip 메서드는 선행 공백, 후행 공백 또는 둘 다를 제거할 수 있습니다. 모든 공백을 제거하거나 중복된 공백만 제거하는 방법을 포함하여 공백을 제거하는 자세한 내용은 파이썬에서 문자열에서 공백을 제거하는 방법을 참조하십시오.

공백에는 공백, 탭 (\t), 캐리지 리턴 (\r), 그리고 새 줄 (\n)과 같은 모든 유니코드 공백 문자가 포함됩니다. Python의 str() 클래스에는 문자열에서 공백을 제거하는 데 사용할 수 있는 다음과 같은 메서드가 있습니다:

  • strip([chars]): 문자열의 양쪽 끝에서 문자를 제거합니다. chars가 생략되거나 None인 경우, 선행 및 후행 공백이 모두 제거된 새 문자열이 반환됩니다.
  • rstrip([chars]): 문자열의 오른쪽에서 문자를 제거합니다. chars가 생략되거나 None인 경우, 후행 공백이 모두 제거된 새 문자열이 반환됩니다.
  • lstrip([chars]): 문자열의 왼쪽에서 문자를 제거합니다. chars가 생략되거나 None인 경우, 선행 공백이 모두 제거된 새 문자열이 반환됩니다.

스트립 메서드를 사용하여 문자열에서 공백 제거하기

다음 예제는 문자열에서 선행 공백, 후행 공백 및 선행 및 후행 공백을 제거하는 방법을 보여줍니다:

s1 = '  shark  '
print(f"string: '{s1}'")

s1_remove_leading = s1.lstrip()
print(f"remove leading: '{s1_remove_leading}'")

s1_remove_trailing = s1.rstrip()
print(f"remove trailing: '{s1_remove_trailing}'")

s1_remove_both = s1.strip()
print(f"remove both: '{s1_remove_both}'")

출력은 다음과 같습니다:

string: '  shark  '
remove leading: 'shark  '
remove trailing: '  shark'
remove both: 'shark'

동일한 스트립 메서드를 사용하여 문자열에서 여러 공백 문자를 제거하는 방법을 보여주는 다음 예제입니다:

s2 = '  \n shark\n squid\t  '
print(f"string: '{s2}'")

s2_remove_leading = s2.lstrip()
print(f"remove leading: '{s2_remove_leading}'")

s2_remove_trailing = s2.rstrip()
print(f"remove trailing: '{s2_remove_trailing}'")

s2_remove_both = s2.strip()
print(f"remove both: '{s2_remove_both}'")

출력은 다음과 같습니다:

Output
string: ' shark squid ' remove leading: 'shark squid ' remove trailing: ' shark squid' remove both: 'shark squid'

출력 결과를 보면 스트립 메서드를 사용할 때 chars 인수를 생략하면 문자열에서 선행 및 후행 공백, 새 줄 및 탭 문자만 제거됨을 알 수 있습니다. 문자열의 맨 앞이나 끝이 아닌 공백은 제거되지 않습니다.

스트립 메서드를 사용하여 문자열에서 특정 공백 문자 제거하기

chars 인수를 지정하여 문자열의 시작 및 끝에서만 특정 문자를 제거할 수도 있습니다. 다음 예제는 문자열에서 선행 새 줄 문자만 제거하는 방법을 보여줍니다:

s3 = '\n  sammy\n  shark\t  '
print(f"string: '{s3}'")

s3_remove_leading_newline = s3.lstrip('\n')
print(f"remove only leading newline: '{s3_remove_leading_newline}'")

출력은:

Output
string: ' sammy shark ' remove only leading newline: ' sammy shark '

결과는 lstrip() 메서드가 문자열에서 선행하는 새 줄 문자를 제거하지만 문자열에서 선행하는 공백은 제거하지 않는다는 것을 보여줍니다.

strip 메서드는 선행 및 후행 문자가 가장 바깥쪽에 있는 경우에만 특정 문자를 제거합니다. 예를 들어, s3 = '\n sammy\n shark\t '에서 \t 뒤에 공백이 있기 때문에 rstrip()를 사용하여 후행 탭 문자만 제거할 수 없습니다.

결론

이 글에서는 문자열에서 선행 및 후행 공백을 제거하기 위해 strip(), rstrip(), 그리고 lstrip() 메서드를 사용했습니다. 문자열 내에서 공백 및 문자를 제거하는 방법에 대해 알아보려면 파이썬에서 문자열에서 공백 제거하기를 참조하십시오. 더 많은 Python 문자열 튜토리얼로 학습을 계속하세요.

Source:
https://www.digitalocean.com/community/tutorials/python-trim-string-rstrip-lstrip-strip