[Python] 문자열 내 문자 및 인덱스 찾기 (count(), find(), index())

2023. 9. 15. 15:00·Python
반응형

[Python] 문자열 내 문자 및 인덱스 찾기 (count(), find(), index())에 대해 학습 후 정리한 포스팅 입니다.

 

이번 포스팅에서는 [Python] 문자열 내 문자 및 인덱스 찾기 (count(), find(), index())에 대해 학습합니다.

 

Python에서 문자열 내 특정 문자나 부분 문자열의 인덱스를 찾기 위한 주요 메서드는 count, find, index입니다.

각 메서드의 특징과 사용법에 대해 설명하겠습니다.

 

1. count()

  • 문자열 내에서 특정 문자나 부분 문자열이 몇 번 나타나는지 세어줍니다.
  • 찾는 문자나 부분 문자열이 없으면 0을 반환합니다.
s = "hello world"
print(s.count("l"))  # 출력: 3

 

2. find()

  • 문자열 내에서 특정 문자나 부분 문자열의 첫 번째 인덱스를 반환합니다.
  • 찾는 문자나 부분 문자열이 없으면 -1을 반환합니다.
  • cf) rfind(): 문자열에서 오른쪽부터 시작하여 특정 부분 문자열을 찾고 그 인덱스를 반환합니다.
s = "hello world"
print(s.find("l"))   # 출력: 2
print(s.find("z"))   # 출력: -1

print(s.rfind("l")) # 출력: 9

 

3. index()

  • find()와 유사하게 문자열 내에서 특정 문자나 부분 문자열의 첫 번째 인덱스를 반환합니다.
  • 차이점은, 찾는 문자나 부분 문자열이 없을 경우 ValueError 예외를 발생시킵니다.
s = "hello world"
print(s.index("l"))  # 출력: 2
# print(s.index("z"))  # ValueError: substring not found

 

 

4. 범위를 지정하여 탐색 

이러한 메서드들은 문자열의 시작과 끝 범위를 지정하여 검색 범위를 제한할 수도 있습니다.

1) count()

s = "hello world"

# 전체 문자열에서 'l'의 개수 세기
print(s.count('l'))  # 출력: 3

# 인덱스 3부터 끝까지에서 'l'의 개수 세기
print(s.count('l', 3))  # 출력: 2

# 인덱스 3부터 8까지에서 'l'의 개수 세기
print(s.count('l', 3, 8))  # 출력: 1

2) find()

s = "hello world"

# 전체 문자열에서 'l'의 위치 찾기
print(s.find('l'))  # 출력: 2

# 인덱스 3부터 끝까지에서 'l'의 위치 찾기
print(s.find('l', 3))  # 출력: 3

# 인덱스 3부터 8까지에서 'l'의 위치 찾기
print(s.find('l', 3, 8))  # 출력: 3

# 찾는 문자나 부분 문자열이 없을 경우 -1 반환
print(s.find('z'))  # 출력: -1

3) index()

s = "hello world"

# 전체 문자열에서 'l'의 위치 찾기
print(s.index('l'))  # 출력: 2

# 인덱스 3부터 끝까지에서 'l'의 위치 찾기
print(s.index('l', 3))  # 출력: 3

# 인덱스 3부터 8까지에서 'l'의 위치 찾기
print(s.index('l', 3, 8))  # 출력: 3

# 찾는 문자나 부분 문자열이 없을 경우 ValueError 발생
# print(s.index('z'))  # 이 코드는 에러를 발생시킵니다.

 

 

<Summary>

- [Python] 문자열 내 문자 및 인덱스 찾기 

- count()

- find()

- index()

- 범위를 지정하여 탐색 

 

 

 

*유의사항

- AI 산업기능요원이 공부하여 남긴 정리입니다.

반응형
저작자표시 (새창열림)

'Python' 카테고리의 다른 글

[Python] 문서 자동화 (docx-template)  (1) 2023.09.13
[Numpy] squeeze & unsqueeze - 배열의 모양 변경  (0) 2023.08.19
[Python] 리스트 컴프리헨션(List Comprehension)  (0) 2023.08.18
[screen] Linux 터미널 다중화 도구  (0) 2023.08.17
[tqdm] 진행 상황 표시 모듈  (0) 2023.08.16
'Python' 카테고리의 다른 글
  • [Python] 문서 자동화 (docx-template)
  • [Numpy] squeeze & unsqueeze - 배열의 모양 변경
  • [Python] 리스트 컴프리헨션(List Comprehension)
  • [screen] Linux 터미널 다중화 도구
성 언
성 언
AI 학과 3학년 학생이자 RAG 기반 LLM 챗봇 개발 회사에서 근무 중입니다. AI 챗봇 개발과 관련된 기술, 연구, 그리고 실험 과정에서 얻은 인사이트를 공유합니다. 최신 AI 기술을 함께 탐구하며 성장해 나가요!
    반응형
  • 성 언
    AI EON
    성 언
  • 전체
    오늘
    어제
    • AII
      • NLP
      • AI Paper Review
      • MLOps
      • Python
      • Algorithm
      • Memo
      • Server Developer
        • Node.js
        • DataBase&Data Engineering
        • Server Basic
      • MATH
        • Linear Algebra
        • AI
      • etc
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Signature 초격차 패키지
    더티 읽기
    Python
    트랜잭션
    문서 자동화
    map 함수
    리랭커
    패스트캠퍼스 수강 후기
    파이썬 문서 자동화
    word 자동화
    transaction
    배타 잠금
    c++
    node.js
    umc
    다중 버전 동시성 제어
    그리디 알고리즘
    스택
    알고리즘
    NVML
    팬텀 읽기
    docx-template
    [Numpy] squeeze & unsqueeze
    Ubuntu-20.04 APM 소스 설치
    배열의 모양 변경
    비반복 읽기
    파이썬
    더티 쓰기
    reranker
    백준
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
성 언
[Python] 문자열 내 문자 및 인덱스 찾기 (count(), find(), index())
상단으로

티스토리툴바