Python에서 문자열의 단어 계산

Elsie Dela Pena 2023년1월30일
  1. split()len()메서드를 사용하여 Python 문자열에서 단어 수 계산
  2. RegEx 모듈을 사용하여 Python 문자열의 단어 계산
  3. sum(),strip()split()메서드를 사용하여 Python 문자열에서 단어 수 계산
  4. count()메소드를 사용하여 Python 문자열 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 :separatormaxsplit매개 변수 사용

# 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.

maxsplitbucket_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()메소드를 사용하여 문자열에서 찾은 특정 단어를 계산할 수도 있습니다.

관련 문장 - Python String