2017-05-02 3 views
1

문자를 제외하고 문자열 code이 주어진 문자열의 아무 곳에 나 나타나는 횟수를 계산하려면 cope 및`cooe count. 문자열이 나타나는 횟수를 계산하십시오 (Python3)

count_code('aaacodebbb') → 1 
count_code('copexxcozecode') → 3 

나는 이런 식으로 작성했습니다 :

def count_code(str): 
    return str.count("code") 

그러나 내가 그렇게에 codecope 또는 coze 등을 계산하는 알아낼 수 없습니다. 자세히 설명하면 정말 감사하겠습니다.

+1

정규식 일치 [수의 가능한 중복 ] (http://stackoverflow.com/questions/3895646/number-of-regex-matches) –

답변

2

정규식을 사용합니다. 스크립트는 다음과 같이 보일 것입니다.

import re 

str = 'copexxcozecode' 

matches = re.findall(r'(co[\S]e)', str) 
print(matches) # ['cope', 'coze', 'code'] 

다음은 코드의 고장이다 : 문자열

re.findall 반환 패턴의 모든 비 중첩 일치하는 문자열의 목록으로. 즉, len(matches)으로 전화하면 계산하기 쉽습니다.

r'(co[\S]e)'

str의 주어진 문자열은 문자의 재잘에 따라 일치하는 것을 의미하는 문자열 문자 (기술적으로 비 공백 문자) + 문자의 co + 하나의 인스턴스 se

+1

무승부에 나를 이길 !! 이것은 그것을하는 방법입니다. – Windmill

+0

답변 해 주셔서 감사합니다. 이것은 매우 이해하기 쉽습니다 !! – user7421972

관련 문제