Python에서 문자열의 단어 계산
-
split()
및len()
메서드를 사용하여 Python 문자열에서 단어 수 계산 - RegEx 모듈을 사용하여 Python 문자열의 단어 계산
-
sum()
,strip()
및split()
메서드를 사용하여 Python 문자열에서 단어 수 계산 -
count()
메소드를 사용하여 Python 문자열 Python에서 단어 수 세기
이 튜토리얼은 파이썬 문자열에서 단어를 세는 방법을 소개합니다.
split()
및len()
메서드를 사용하여 Python 문자열에서 단어 수 계산
split()
은 특정 구분 기호를 사용하여 문자열 내부의 단어를 분리하고 문자열 배열을 반환하는 Python의 내장 메서드입니다. 이 메소드는 최대 두 개의 매개 변수를 인수로 허용합니다.
separator
(선택 사항)-구분 기호 역할을합니다 (예 : 쉼표, 세미콜론, 따옴표 또는 슬래시). 문자열에서 구분할 경계를 지정합니다.separator
가 지정되지 않은 경우 기본separator
는 공백 (공백, 줄 바꿈, 탭 등)입니다.maxsplit
(옵션)-최대 분할 수를 정의합니다. 정의되지 않은 경우maxsplit
의 기본값은-1
이며 이는 제한이 없으며 문자열을 여러 청크로 분할합니다.
split()
의 구문 :
str.split(separator, maxsplit)
len()
은 또한 파이썬 내장 메서드로, 배열의 문자열 수를 반환하거나 객체의 항목 길이를 계산합니다. 이 메서드는 문자열, 바이트, 목록, 개체, 집합 또는 컬렉션 중 하나의 매개 변수 만 허용합니다. 인수가 없거나 유효하지 않으면TypeError
예외가 발생합니다.
len()
의 구문 :
len(s)
split()
및len()
메소드가 문자열의 단어 수를 계산하는 방법을 살펴 보겠습니다.
예 1 : 매개 변수 없음
# initialize string
text = "The quick brown fox jumps over the lazy dog"
# default separator: space
result = len(text.split())
print("There are " + str(result) + " words.")
출력:
There are 9 words.
예 2 :separator
매개 변수 사용
# initialize string
bucket_list = "Japan, Singapore, Maldives, Europe, Italy, Korea"
# comma delimiter
result = len(bucket_list.split(","))
# Prints an array of strings
print(bucket_list.split(","))
print("There are " + str(result) + " words.")
출력:
['Japan', ' Singapore', ' Maldives', ' Europe', ' Italy', ' Korea']
There are 6 words.
split()
메소드는 새로운 문자열 목록을 반환하고len()
은 목록 내의 문자열을 계산합니다.
예 3 :separator
및maxsplit
매개 변수 사용
# initialize string
bucket_list = "Japan, Singapore, Maldives, Europe, Italy, Korea"
# comma delimiter
result = len(bucket_list.split(",", 3))
# Prints an array of strings
print(bucket_list.split(",", 3))
print("There are " + str(result) + " words.")
출력:
['Japan', ' Singapore', ' Maldives', ' Europe, Italy, Korea']
There are 4 words.
maxsplit
은bucket_list
에서 처음 세 개의 쉼표 만 분할합니다. maxsplit
을 설정하면 목록에maxsplit+1
항목이 있습니다.
출력:
['Japan', ' Singapore', ' Maldives, Europe, Italy, Korea']
There are 3 words.
split()
메서드는 큰 문자열을 작은 문자열로 나눕니다. 따라서 문자열 배열의 단어 수는 정확히 단어가 아니라 분할 구분 기호가 정의 된 방식을 기반으로합니다.
RegEx 모듈을 사용하여 Python 문자열의 단어 계산
정규식, 줄여서regex
또는regexp
는 텍스트 문자열을 검색하고 조작하는 데 매우 강력한 도구입니다. 이것은 데이터 전처리, 유효성 검사 목적, 텍스트 문자열에서 패턴 찾기 등에 사용할 수 있습니다. Regex는 또한 필요하지 않은 문장 부호 나 특수 문자가있는 시나리오에서 텍스트 문자열의 단어 수를 계산하는 데 도움이 될 수 있습니다. Regex는 Python 내장 패키지이므로 사용을 시작하려면re
패키지를 가져 오기만하면됩니다.
# import regex module
import re
# initialize string
text = "Python !! is the be1st $$ programming language @"
# using regex findall()
result = len(re.findall(r"\w+", text))
print("There are " + str(result) + " words.")
출력:
There are 6 words.
sum()
,strip()
및split()
메서드를 사용하여 Python 문자열에서 단어 수 계산
이 접근 방식은 정규식을 사용하지 않고 단어를 계산합니다. sum()
,strip()
및split()
은 모두 Python에 내장 된 메소드입니다. 각 방법과 그 기능에 대해 간략하게 설명하겠습니다.
sum()
메소드는 왼쪽에서 오른쪽으로 항목을 더하고 합계를 리턴합니다. 이 메서드는 두 개의 매개 변수를 사용합니다.
iterable
(필수)-합산 할 문자열, 목록, 튜플 등. 숫자 여야합니다.start
(선택 사항)-메서드의 합계 또는 반환 값에 추가되는 숫자입니다.
sum()
의 구문 :
sum(iterable, start)
다음은strip()
메서드로, 인수가없는 경우 선행 및 후행 공백을 모두 제거한 문자열의 복사본을 반환합니다. 그렇지 않으면 인수에 정의 된 문자열이 제거됩니다.
chars
(선택 사항)-텍스트의 왼쪽 및 오른쪽 부분에서 제거 할 문자열을 지정합니다.
string.strip()
의 구문 :
string.strip(chars)
마지막으로,split()
메소드는이 접근법 이전에 이미 논의되었습니다.
이제 이러한 방법을 함께 사용하여 문자열의 단어 수를 계산해 보겠습니다. 먼저 기능을 사용하기 전에 Python 내장 모듈 인string
을 가져와야합니다.
import string
# initialize string
text = "Python !! is the be1st $$ programming language @"
# using the sum(), strip(), split() methods
result = sum([i.strip(string.punctuation).isalpha() for i in text.split()])
print("There are " + str(result) + " words.")
출력:
There are 5 words.
count()
메소드를 사용하여 Python 문자열 Python에서 단어 수 세기
count()
메소드는 Python 내장 메소드입니다. 세 개의 매개 변수를 취하고 주어진 하위 문자열을 기준으로 발생 횟수를 반환합니다.
substring
(필수)-문자열에서 검색 할 키워드start
(옵션)-검색이 시작되는 위치에 대한 색인end
(옵션)-검색이 끝나는 위치에 대한 색인
참고 : 색인은 Python에서0
부터 시작합니다.
count()
의 구문 :
string.count(substring, start, end)
이 방법은 문자열에서 찾은 총 단어 수를 반환하지 않지만 하위 문자열에서 찾은 항목 수를 반환하므로 이전 방법과 다릅니다. 아래 예제에서이 방법이 어떻게 작동하는지 살펴 보겠습니다.
# initialize string
text = "Python: How to count words in string Python"
substring = "Python"
total_occurrences = text.count(substring)
print("There are " + str(total_occurrences) + " occurrences.")
출력:
There are 2 occurrences.
이 방법에서는 하위 문자열이 전체 단어, 구, 문자 또는 문자 나 숫자의 조합인지 여부는 중요하지 않습니다.
요약하면 사용 사례에 따라 이러한 접근 방식을 선택할 수 있습니다. 공백으로 구분 된 단어의 경우,split()
또는len()
함수와 같은 간단한 접근 방식을 사용할 수 있습니다. 특수 문자없이 단어를 계산하기 위해 텍스트 문자열을 필터링하려면regex
모듈을 사용하십시오. 특정 문자를 포함하지 않는 단어를 세는 패턴을 만듭니다. regex
를 사용하지 않고sum()
+strip()
+split()
메소드의 조합 인 대안을 사용하십시오. 마지막으로count()
메소드를 사용하여 문자열에서 찾은 특정 단어를 계산할 수도 있습니다.