ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [파이썬] 문자열 처리 함수(2) 문자열 찾기
    프로그래밍 (Programming)/파이썬 (Python) 2020. 2. 21. 14:33
    반응형

     

    안녕하세요~ 오늘은 저번에 이어서 문자열을 처리하는데 이용되는 함수들을 소개해드리겠습니다. 

    이전 포스팅에서 소개해 드렸던 문자열의 대소문자를 변경하는 방법은 아래의 링크를 참조해주시기 바랍니다.

    https://skgudwn34.tistory.com/10

     

    [파이썬] 문자열 처리 함수(1) 대소문자 변환

    안녕하세요~ 앞으로의 포스팅에서는 문자열 처리를 하는데 있어서 유용하게 사용되는 함수들을 소개해드리도록 하겠습니다. 대/소문자 변환 영어 텍스트를 처리할 때는 대/소문자를 어떻게 처리해야할지 생각해봐..

    skgudwn34.tistory.com

     

    문자열 찾기

     

    만약에 텍스트에서 찾고자하는 문자가 몇 개 있는지를 알아보고 싶으면 어떻게 하면 될까요?

    그럴때는 count함수를 사용하면 됩니다.

     

    - count(): 찾을 문자열이 몇 개 있는지 개수를 셈

     

    >>> sentence="The man is going to the school"
    >>> sent_lower=sentence.lower()
    >>> count_t=sent_lower.count('t')
    >>> print(count_t)
    3

     

    case를 무시하고 t의 개수를 찾고 싶으면 lower() 함수를 이용하여 우선 sentence를 모두 소문자로 만들어줘야 합니다. 

    만약 case를 바꾸지 않는다면 같은 알파벳이더라도 대문자와 소문자를 각각 인식하게 되어 아래와 같은 결과가 나오게 될것입니다.

     

    >>> sentence="The man is going to the school"
    >>> count_t=sentence.count('t') 
    >>> print(count_t
    2

     

    문자열의 개수뿐만 아니라 찾고자 하는 문자열의 위치를 알아볼 수도 있습니다.

     

    - find(): 문자열이 몇 번째 위치하고 있는지를 찾음

    - rfind(): 문자열이 몇 번째 위치하고 있는지를 오른쪽부터 찾음

     

    이해하기 쉽게 예시를 들어 설명해드리도록 하겠습니다.

     

    >>> sentence="The man is going to the school"
    >>> find_o=sentence.find('o')
    >>> print(find_o)
    12

    >>> sentence="The man is going to the school"
    >>> rfind_o=sentence.rfind('o')
    >>> print(rfind_o)
    28

     

    find()함수는 찾고자 하는 문자를 왼쪽부터 세어서 그 인덱스 값을 리턴해줍니다. 이 때 문자들뿐만 아니라 공백도 하나의 자리를 차지하므로 첫 번째 예시에서는 12라는 값이 나온 것을 알 수 있습니다.

     

    반대로 rfind()함수는 찾고자 하는 문자를 오른쪽부터 세어서 그 인덱스 값을 리턴해줍니다. 따라서 예시를 보면 오른쪽에서 가장 가까이 있는 o를 찾고 그 인덱스 값을 반환하여 28이라는 값이 나온 것을 알 수 있습니다.

     

    마지막으로 텍스트가 어떤 문자열로 시작하는지 또는 끝나는지를 알아보는 함수들을 살펴보겠습니다.

     

    - startswith(): 텍스트가 해당 문자열로 시작하면 True를, 그렇지 않다면 False를 반환

    - endswith(): 텍스트가 해당 문자열로 끝나면 True를, 그렇지 않다면 False를 반환

     

    >>> sentence="그는 학교에 갔습니다!"
    >>> end_mark=sentence.endswith("!")
    >>> print(end_mark)
    True

     

    위의 예시에서는 문장이 느낌표로 끝나는지를 알아보기 위하여 endswith() 함수를 이용하였고 문장이 느낌표로 끝나기 때문에 True값이 리턴된 것을 확인할 수 있습니다.

     

    오늘의 포스팅은 여기까지 해서 마치고 다음에 또 찾아뵙도록 하겠습니다!! 

     

    반응형

    댓글

Designed by Tistory.