소개
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}'")
출력은 다음과 같습니다:
Outputstring: '
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}'")
출력은:
Outputstring: '
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