조금씩 꾸준히 완성을 향해

[Python] String method / 필요없는 문자열 삭제 strip() 본문

Python/문법

[Python] String method / 필요없는 문자열 삭제 strip()

all_sound 2022. 8. 24. 13:53

strip()

 

문자열에서 앞뒤 공백, 개행문자 등 불필요한 부분을 지워야 할 때 사용하는 메서드이다.

 

 

< 사용 방법 >

str.strip([chars])

 

문자열 앞과 뒤에서 시작해서 지정한 문자(chars) 외의 다른 문자를 만날 때까지 지정한 문자(chars)를 모두 삭제한 문자열을 반환한다.

만약 지정한 문자와 일치하는 것이 없으면 문자열(str)을 그대로 반환한다. 

 

설명은 어렵지만 코드를 보면 이해가 쉽다. 

 

 

▶ 공백과 개행문자(\n) 삭제 

 

 인자없이 str.strip() 으로 사용한다.

str = '     Python  '
print(str.strip())  
#'Python'

str2 = '\n Python  \n\n'.strip()
print(str2) 
#'Python'

 

 

 특정 문자 제거

 

 앞 뒤에서 제거할 특정 문자를 인자로 넣어 사용한다.

# 앞 뒤에 있는 'a'문자 제거
str = 'aaaaabbPythonbbbbbaa'
str_a = str.strip('a') 
print(str_a)  
# 'bbPythonbbbbb'

# 앞 뒤에 있는 'b'문자 제거
str_b = str_a.strip('b')
print(str_b)   
# 'Python'

 

 한 번에 여러 문자를 제거 할 수도 있다. 

# 문자열에서 'a'와 'b' 제거
str = 'aaaaabbPythonbbbbbaa'
str_ab = str.strip('ab') 
print(str_ab) 
# 'Python'

# 문자열에서 'a', 'b', '#' 제거
str = 'aabaaab##bPython##bbb#bbaa'
str_abc = str.strip('ab#') 
print(str_abc) 
# 'Python'

 

   ※ 주의!  지정한 문자 외 다른 문자를 만날 때까지만 지정한 문자를 삭제한다!

str = 'ttttttPythontttttttt'
str2 = str.strip('t') 
print(str2) 
# 'Python'

 str에서 모든 t를 지우는 게 아니라 앞과 뒤에 있는 t를 지우는 것이므로, 'Python' 안의 t는 유지된다!!

 

 

 

 왼쪽만 혹은 오른쪽만 삭제 

 

  str.lstrip() : 왼쪽의 공백이나 문자 삭제

  str.rstrip() : 오른쪽의 공백이나 문자 삭제

str = 'ttttttPythontttttttt'
str2 = str.strip('t') 
str3 = str.lstrip('t')
str4 = str.rstrip('t')
print(str2) #Python
print(str3) #Pythontttttttt
print(str4) #ttttttPython