달나라 노트

Python Basic : strip, lstrip, rstrip (문자열 가장 양쪽의 공백 제거하기. 문자열 가장 양쪽에 있는 특정 문자 제거하기) 본문

Python/Python Basic

Python Basic : strip, lstrip, rstrip (문자열 가장 양쪽의 공백 제거하기. 문자열 가장 양쪽에 있는 특정 문자 제거하기)

CosmosProject 2021. 1. 20. 22:39
728x90
반응형

 

 

Python의 strip, lstrip, rstrip은 다음과 같은 기능을 가집니다.

 

strip = 문자열의 양쪽 끝에 있는 어떤 텍스트를 제거합니다.

lstrip = 문자열의 왼쪽 끝에 있는 어떤 텍스트를 제거합니다.

rstrip = 문자열의 오른쪽 끝에 있는 어떤 텍스트를 제거합니다.

 

 

 

str_test = ' abcde   '

str_stripped = '[' + str_test.strip() + ']'
str_lstripped = '[' + str_test.lstrip() + ']'
str_rstripped = '[' + str_test.rstrip() + ']'

print(str_stripped)
print(str_lstripped)
print(str_rstripped)


- Output
[abcde]
[abcde   ]
[ abcde]

위 예시를 보면 금방 감이 오시겠죠.

 

 

 

 

여기서  가지 집중해야할 점은 strip, lstrip, rstrip method의 parameter로서 아무것도 전달하지 않았다는 것입니다.

이렇게 strip method들의 paramter로 아무것도 전달하지 않은 채로 사용하면 strip, lstrip, rstrip은 공백을 제거합니다.

 

여기서 의미하는 공백이란 단순히 스페이바를 이용해서 만들어진 한칸짜리 공백 뿐 아니라 탭, 줄바꿈 등의 공백도 모두 제거한다는 의미입니다.

test_str = '\ntest\n'
print('[' + test_str.strip() + ']')

test_str = '\ttest\t'
print('[' + test_str.strip() + ']')

test_str = ' test '
print('[' + test_str.strip() + ']')

test_str = '\t\n test \t\n'
print('[' + test_str.strip() + ']')


-- Result
[test]
[test]
[test]
[test]

위 예시를 보면 strip method가 test라는 텍스트 양쪽에 있는 공백, 줄바꿈(\n), 탭(\t)을 모두 삭제한걸 볼 수 있습니다.

 

 

 

 

 

 

위 예시에선 strip, lstrip, rstrip의 parameter로 아무것도 제시하지 않았습니다.

하지만 다음 예시를 보면 어떨까요?

str_test_1 = 'aaabbccddeeeeeeaa'

str_stripped = str_test_1.strip('a')



str_test_2 = 'bbccddeeeeee'
str_lstripped_1 = str_test_2.lstrip('b')
str_lstripped_2 = str_test_2.lstrip('e')

str_rstripped_1 = str_test_2.rstrip('b')
str_rstripped_2 = str_test_2.rstrip('e')



print(str_stripped)
print('')
print(str_lstripped_1)
print(str_lstripped_2)
print('')
print(str_rstripped_1)
print(str_rstripped_2)


- Output
bbccddeeeeee

ccddeeeeee
bbccddeeeeee

bbccddeeeeee
bbccdd

str_test_1에 strip('a')를 적용해봅시다.

그 결과로 str_test_1 양쪽에 있던 모든 a가 사라졌습니다.

 

str_lstripped_1은 lstrip('b')를 적용하여 왼쪽에 있던 모든 b를 없앴습니다.

str_lstripped_2에서는 lstrip('e')를 적용했는데 str_test_2에는 왼 쪽에 e가 없으므로 아무 변화가 없습니다.

 

str_lstripped_1은 rstrip('b')를 적용했는데 str_test_2에는 오른 쪽에 b가 없으므로 아무 변화가 없습니다.

str_lstripped_2에서는 rstrip('e')를 적용하여 오른쪽 있던 모든 e를 없앴습니다.

 

 

 

 

 

728x90
반응형

'Python > Python Basic' 카테고리의 다른 글

Python Basic : open (file 읽기)  (0) 2021.02.08
Python Basic : map & filter 함수  (0) 2021.01.24
Python Basic : filter()  (0) 2020.12.23
Python Basic : range()  (0) 2020.12.09
Python Basic : enumerate()  (0) 2020.12.09
Comments