파이썬(Python)/문법

[Python] String 위치 별 공백 없애기 (strip, replace, re)

끄적끄적아무거나 2021. 10. 25. 08:36
반응형

 

목차

     

     

     

     

     

     

     

     

     

    [Python] String 공백 없애기 (split()함수)

     

     

    Syntax

    string.strip(characters)

     

    위 Syntax에서 처럼 string 내용 중에 제거하고 싶은 글자를 characters에 넣으면 됩니다. default 은 blank(빈칸입니다.)

    strip으로 공백을 제거할 경우 문장 사이는 제거가 안되고 양끝만 제거 됩니다.

     

     

     

    예제 코드>>

    string_ex = " Hi My Name is John  "
    print(string_ex.strip())

     

    결과>>

    Hi My Name is John
    반응형

     

     

    [Python] String 공백 없애기 (replace()함수)

     

     

    Syntax

    string.replace(oldvalue, newvalue, count)

     

    oldvalue에는 바꾸고자 하는 내용이고 newvalue에는 바꿀 내용입니다. 그리고 count 는 총 몇개를 바꿀지 입니다. 아래 예제 코드처럼 빈칸을 없애면 strip과 달리 모든 사이 공백을 없앨 수 있습니다.

     

     

     

     

    예제코드>>

    string_ex = " Hi My Name is John  "
    print(string_ex.replace(" ",""))

     

    결과>>

    HiMyNameisJohn

     

     

     

     

     

    [Python] String 첫 공백, 끝 공백, 양 끝 공백, 두번 이상의 공백 없애기 (re 정규식 함수)

     

     

    Syntax

    re.sub(바꾸고 싶은 내용, 바꿀 내용, string)
    re.split(character,string)

     

     

    re.sub는 말그대로 바꿀 내용을 위처럼 변경하면 됩니다. 아래 예제코드에서 슬래시S (/s)는 스페이스를 뜻합니다. 즉, 공백입니다. 

     

    re.split은 character를 기점으로 나눠서 리스트에 넣어줍니다. 

     

    아래 예제 코드 정규식에 대해 간단하게 설명하면 ^은 문작의 시작이고 +는 어떤 charater이든 받는 것이고 $는 끝문장을 의미합니다.

     

     

     

    예제 코드>>

    import re
    
    string_ex = " Hi   My Name is John  "
    
    #모든 빈칸 없애기
    print(re.sub(r"\s+", "", string_ex))
    #처음 빈칸 없애기
    print(re.sub(r"^\s+", "", string_ex))
    #마지막 빈칸 없애기
    print(re.sub(r"\s+$", "", string_ex))
    #양끝 빈칸 없애기
    print(re.sub(r"^\s+|\s+$", "", string_ex))
    #2칸 이상 빈칸 한칸으로 바꾸기
    print(" ".join(re.split(r"\s+", string_ex)))

     

     

    결과>>

    HiMyNameisJohn
    Hi   My Name is John
     Hi   My Name is John
    Hi   My Name is John
     Hi My Name is John

     

     

    반응형