스트링에 모든 공백 문자를 제거하고 싶은데 앞 뒤 공백만 제거됩니다

발생하는 문제 및 실행환경

스트링 첫, 중간, 끝부분에 있는 모든 공백을 없애려면 어떻게 해야 되나요? 제 코드는 처음이랑 끝부분에 있는 공백만 없애는데 저는 모든 공백을 제거하고 싶어요

소스코드

def my_handle(self):
    sentence = ' hello  apple  '
    sentence.strip()

1답변

  • 좋아요

    0

    싫어요
    채택취소하기

    공백 문자를 자르는 방법은 여러 가지가 있습니다. 지우고 싶은 공백이 스페이스를 말하는 건지, 개행 문자 같은 모든 공백 문자를 말하는 건지 잘 모르겠어서 다 써놓겠습니다.

    1. 양쪽 끝의 공백 문자를 제거하는 경우 - str.strip:

    sentence = ' hello  apple'
    sentence.strip() #'hello  apple'
    

    2. 모든 스페이스(' ')를 제거하는 경우 - str.replace():

    sentence = ' hello  apple'
    sentence.replace(" ", "") #'helloapple'
    

    3. 모든 공백 문자를 제거하는 경우 - re모듈:

    import re
    pattern = re.compile(r'\s+')
    sentence = re.sub(pattern, '', sentence)
    
    #또는
    sentence = ' hello  apple\t\t\n\n\n\n'
    ''.join(sentence.split()) #'helloapple'
    

    4. 중복된 공백 문자를 제거하는 경우(예_ 스페이스바가 2개) - str.split()str.join():

    sentence = ' hello  apple'
    " ".join(sentence.split()) # 'hello apple'
    

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.