ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • TIL. 15 again python_문자열 메서드
    TIL 2020. 10. 23. 23:06
    728x90

    ## 파이선에서 제공하는 문자열 메서드에 대해 알아보자 (자주사용하는 것 위주)


    •  repalce

    ## 문자열 안의 문자열을 다른 문자열로 바꾼다.

    ## .replace('바꾸고자 하는 문자열', '새문자열')

     

    print('hellow, world!'.replace('world''python')) 

    :: 'hellow, python!'

     

    a = 'python'

    print(a.replace('python''PYTHON'))

    :: PYTHON

    print(a)

    :: python

     

    b = 'muntari'

    b = b.replace('muntari''codermun')

    print(b)

    :: codermun

     

    ## 위 코드에서 보여지듯 repalce method 는 문자열 자체를 변경하지 않고

    ## 순간적으로 바뀐 결과를 보여주는 것 (a)

    ## 바뀐 결과를 유지하기 위해선 다시 변수에 할당해주면 된다 (b)


    • translate

    ## 문자열 안의 문자를 다른 문자로 바꿈

    ## .tranlate()

     

    c = str.maketrans('abcde''12345')

    print('apple'.translate(c))

    :: 1ppl5

     

    ## 먼저 str.maketrans('바꿀문자', '새문자')로 변환 되는 변수 c 를 지정한다.

    ## 'a' => '1', 'b' => '2', ...'e' => '5' 로 변환되어 c에 반환 및 할당

    ## translate 을 해주면 'apple' -> 1ppl5 로 변환하여 출력해준다.


    • split

    ## 특정 기준으로 문자열을 분리하여 리스트로 만들어 준다.

    ## .split('특정 기준')

     

    print('apple,banana,orange,grape'.split(','))

    :: ['apple', 'banana', 'orange', 'grape']

     

    ## 입력값으로 자주사용하던 input().split()에서의 split으로

    ## split() == 공백을 기준으로 분리 / split(',') == ,(콤마)를 기준으로 분리


    • join

    ## 구분자 문자열과 문자열 리스트의 요소를 연결하여 문자열로 만듬 (split은 분리, join은 연결)

    ## ''.join(리스트)

     

    d = ['apple''banana''orange''grape']

    print(''.join(['apple''banana''orange''grape']))

    :: applebananaorangegrape

    print(' '.join(d))

    :: apple banana orange grape

    print('-'.join(d))

    :: apple-banana-orange-grape

    ## ''.join(리스트) -> ''은 구분 문자열이 들어가는 자리로 특정 기준을 정해주면 된다.

    ## ''.join~ == 공백 없음 , ' '.join~ == 공백을 기준으로 문자열 연결 , '-'.join~ == -(하이픈)을 기준으로 연결


    • upper

    ## 문자열의 문자를 모두 대문자로 바꿈

    ## .upper()

     

    print('python'.upper())

    :: PYTHON

    print('PYTHon'.upper())

    :: PYTHON

    # 문자열에 대문자가 있다면 대문자 그대로 유지


    • lower

    ## 문자열의 문자를 모두 소문자로 바꿈

    ## .lower()

     

    print('python'.lower())

    # python

    print('PYTHon'.lower())

    # python

     

    # 문자열에 대문자가 있다면 대문자 그대로 유지


    • strip

    ## 문자열의 공백 삭제하기

    ## .strip(), .lstrip(), .rstrip() // 양쪽 공백 제거, 왼쪽 공백 제거, 오른쪽 공백 제거 3가지가 있다.

     

    e = '  python  '

    print(e.lstrip())

    :: 'python  '

     

    print(e.rstrip())

    ::'  python'

     

    print(e.strip())

    :: 'python'

     

    f = ',., pyhton ,'

    print(f.lstrip(',.'))

    :: ' python, '

     

    print(f.rstrip(',.'))

    :: ',., python'

     

    print(f.strip(',.'))

    :: ' python'

     

    ## ,(콤마) .(점)을 선택하여 삭제 가능하다. 여기서는 공백이 아닌 , . 만 넣어줬으므로 공백이 삭제 되지 않는다.


    • just

    ## 문자열을 지정된 길이로 만든 후, 정렬하는 메서드이며 남는 공간은 공백 으로 채운다.

    ## .ljust(길이), rjust(길이) // 문자열을 해당 길이 만큼 만든 후 

    왼쪽부터 채움 (왼쪽정렬)/ 오른쪽부터 채움(오른쪽정렬)

     

    g = 'python'

    print(g.ljust(10))

    :: 'python    '

    print(g.rjust(10))

    :: '    python'


    • center

    ## 문자열을 지정된 길이로 만든 후, 가운데 정렬하며 남는 공간은 공백 으로 채운다.

    ## .center(길이)

     

    print(g.center(10))

    :: '  python  '

     

    print(g.center(11))

    :: '   python  '

    ## 가운데 정렬하여 남는 공간이 홀수 일 경우 왼쪽에 공백 한칸을 추가한다.


     

    • method chaining (메서드 체이닝)

    ## 메서드를 줄줄이 연결한다는 의미로 메서드 체이닝이라 부른다.

    ## 문자열을 입력받을떄 사용하던 input().split() 도 메서드 체이닝이다.

     

    print(g.ljust(10).upper())

    :: 'PYTHON    '

    ## python(g)를 10칸 생성하여 왼쪽 정렬한후, 대문자로 변환


    • zfill

    ## 문자열을 지정된 길이에 맞춰서 왼쪽부터 0 을 채움 (공백이아닌 0을 채운다)

    ## .zfill(길이)

     

    print('35'.zfill(4))

    :: '0035'

    print('3.5'.zfill(6))

    :: '0003.5'

    ## 소수점의 .(점)도 공간을 차지함!

    print('01234567'.zfill(3))

    :: '01234567'

    ## 단 문자열의 길이보다 지정된 길이가 작은 경우 0을 채우지 않고 문자열을 모두 출력한다.


    • find

    ## 문자열에서 특정 문자열을 찾아 인덱스를 반환 , 특정 문자열이 없는 경우 -1 을 반환함

    ## 찾고자하는 문자열이 여러번 등장할 경우 가장 첫 인덱스만을 반환함

    ## .find('특정문자열')  .rfind('특정문자열')

    ## 왼쪽에서 부터 특정 문자열을 찾는것이 디폴트이며, rfind로 오른쪽에서부터 특정 문자열을 찾을 수 있다.

     

    i = 'apple pineapple'

    print(i.find('pl'))

    :: 2

    print(i.find('xy'))

    :: -1

    print(i.rfind('pl'))

    :: 12

    print(i.rfind('xy'))

    :: -1


    • index

    ## 문자열에서 특정 문자열을 찾아 인덱스를 반환, 특정 문자열이 없을 경우 에러!!!(error)

    ## 찾고자하는 문자열이 여러번 등장할 경우 가장 첫 인덱스만을 반환함

    ## .index('특정문자열')  .rindex('특정문자열')

    ## 디폴트값이 왼쪽

     

    i = 'apple pineapple'

    print(i.index('pl'))

    :: 2

    print(i.index('xy'))

    :: error

    print(i.rindex('pl'))

    :: 12

    print(i.rindex('xy'))

    :: error


    • count

    ## 문자열에서 특정 문자열이 몇 번 나오는지 확인하여 반복된 횟수(갯수)를 반환

    ## .count('특정 문자열')

     

    print(i.count('pl'))

    :: 2

    728x90
Designed by Tistory.