본문 바로가기

프로그래밍/[Python] 파이썬

[Python] 파이썬 문자 개수 세기 - 문자열 count() 메서드

by GenieIT* 2024. 10. 12.

728x90
728x90

 

1. count() 메서드

  • 파이썬에서 문자열의 count() 메서드특정 문자열이 원본 문자열 내에서 몇 번 나타나는지를 세어 반환하는 메서드입니다. 이 메서드는 매우 유용하며, 특정 부분 문자열이 텍스트에 얼마나 자주 등장하는지 알아낼 때 사용됩니다.

 

2. 문법

str.count(sub[, start[, end]])
  • sub: (필수) 세고자 하는 부분 문자열입니다.
  • start: (선택) 문자열에서 검색을 시작할 위치입니다. (기본값: 0)
  • end: (선택) 문자열에서 검색을 종료할 위치입니다. (기본값: 문자열의 끝)
  • start와 end 매개변수 사용 시에는 start 위치부터 end-1 위치까지 찾습니다.
  • 부분 문자열이 원본 문자열에 등장한 횟수를 정수로 반환합니다.

 

3. 사용 예제

3-1. 기본 사용법

text = "hello python"
count = text.count("p")
print(count)  

'''
실행 결과
1
'''

 

 

3-2. start, end 인덱스 번호 사용

  • 'p'의 인덱스 번호는 6에 위치하고 있으므로 7부터 찾게 된다면 없기 때문에 0을 반환합니다
text = "hello python"
count = text.count("p", 7)
print(count)

'''
실행 결과
0
'''
  • 'p'의 인덱스 번호는 6에 위치하고 있으므로 인덱스 번호 범위가 6, 7 위치에 'p'는 1개 있기 때문에 1을 반환합니다.
text = "hello python"
count = text.count("p", 6, 8)
print(count)  

'''
실행 결과
1
'''

 

4. 주의 사항

  • 부분 문자열이 겹쳐 있을 경우, 중복해서 세지 않습니다.
  • 'aba'가 두개 존재하는 것처럼 보이지만 count() 메서드는 첫 번째 'aba' 문자열만 체크합니다.
  • count() 메서드겹치는 부분 문자열을 무시하고, 첫 번째 부분 문자열이 끝난 다음부터 다시 검색을 시작하기 때문입니다.
text = "ababab"
count = text.count("aba")
print(count)

'''
실행 결과
1
'''
  • 대소문자를 구분합니다.
text = "Hello Python"
print(text.count("hello"))

'''
실행 결과
0
'''

 

 

728x90