Programming/Python

[Python 3.7] 텍스트안의 특정 문자열 카운트 하기

Nirsa 2019. 12. 23. 20:44
반응형

 

 

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.

 

반응형