Python 텍스트안의 특정 문자열 카운트 하는 방법 입니다.
import string paragraph = input() words = paragraph.split(' ') count = 0 |
텍스트 안에 특정 문자열을 카운트(또는 검색)할때에 특수문자(. , 등)가 들어있을 경우 재대로 카운트하지 않기 때문에 이후 특수문자를 제거하기 위해 string 을 import 합니다.
입력받은 값을 paragraph 변수 안으로 집어 넣은 후 split(' ') 을 사용하여 공백을 기준으로 문자열을 나눈 후 words 변수안에 넣어줍니다. count는 이후 특정 문자열을 카운트하기위한 변수 입니다.
for i in range(len(words)): search = words[i].strip(string.punctuation) if search == 'something': count += 1 print(count) |
split을 이용해 공백을 기준으로 문자열을 나눈 words 변수를 len과 range을 이용하여 for 반복문을 만들어줍니다.
search 변수에 words[i], 즉 각 요소들을 입력받은 후 strip(string.punctuation)을 이용하여 특수 문자가 있다면 제거한 후 변수에 넣습니다. (밑에 있는 if문에서 == 을 선언하기 위함입니다. == 을 사용할때에 . , 같은 특수문자가 있다면 다른 문자열로 처리하여 조건식은 거짓이 됩니다)
이후 if search == 'something(검색할문자열)' 을 입력하여 words에서 요소를 꺼낸 후 search 변수에 넣었던게 something이 맞는지 확인한 후, 맞다면 count 변수에 1을 추가 한 후 반복문이 끝나면 print로 카운트된 횟수를 출력합니다.
위의 코드를 모두 입력하고, 아래 문자열로 잘 가져오는지 테스트 해보세요.
The regret after not doing something is bigger than that of doing something.
'Programming > Python' 카테고리의 다른 글
[Python 3.7] 파이썬 비교 연산자와 논리 연산자 (개념, 종류) (1) | 2020.01.11 |
---|---|
[Python 3.7] 파이썬 변수란? (할당 및 활용 map, input) (0) | 2020.01.11 |
[Python 3.7] 파이썬 숫자 계산과 사칙연산 (2) | 2020.01.10 |
[Python 3.7] 딕셔너리 표현식 특정 키-값 삭제하기 (RuntimeError: dictionary changed size during iteration) (2) | 2019.12.24 |
[Python 3.7] 파이썬 FizzBuzz Test (0) | 2019.12.11 |