본문 바로가기
AI Developer/Python

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

by 성 언 2023. 9. 15.

[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 산업기능요원이 공부하여 남긴 정리입니다.

댓글