Contar palabras en cadena en Python
-
Utilice los métodos
split()
ylen()
para contar palabras en una cadena de Python - Utilice el módulo RegEx para contar palabras en una cadena de Python
-
Utilice los métodos
sum()
,strip()
ysplit()
para contar palabras en una cadena de Python -
Utilice el método
count()
para contar palabras en Python String Python
Este tutorial presentará cómo contar palabras en una cadena de Python.
Utilice los métodos split()
y len()
para contar palabras en una cadena de Python
split()
es un método incorporado en Python que separa las palabras dentro de una cadena usando un separador específico y devuelve un array de cadenas. Este método acepta como máximo dos parámetros como argumento:
separator
(opcional): actúa como un delimitador (por ejemplo, comas, punto y coma, comillas o barras). Especifica el límite en el que se separa en la cadena. Elseparator
predeterminado es cualquier espacio en blanco (espacio, nueva línea, tabulación, etc.) si no se especifica elseparator
.maxsplit
(opcional) - Define el número máximo de splits. El valor predeterminado demaxsplit
si no está definido es-1
, lo que significa que no tiene límites y dividirá la cadena en varios trozos.
Sintaxis de split()
:
str.split(separator, maxsplit)
len()
también es un método incorporado de Python, que devuelve el número de cadenas en un array o cuenta la longitud de los elementos en un objeto. Este método solo acepta un parámetro: una cadena, bytes, lista, objeto, conjunto o colección. Generará una excepción “TypeError” si el argumento falta o no es válido.
Sintaxis de len()
:
len(s)
Veamos cómo los métodos split()
y len()
cuentan las palabras en una cadena.
Ejemplo 1: sin parámetros
# 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.")
Producción :
There are 9 words.
Ejemplo 2: Con el parámetro 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.")
Producción :
['Japan', ' Singapore', ' Maldives', ' Europe', ' Italy', ' Korea']
There are 6 words.
El método split()
devolverá una nueva lista de cadenas, y len()
cuenta la cadena dentro de la lista.
Ejemplo 3: Con los parámetros separator
y 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.")
Producción :
['Japan', ' Singapore', ' Maldives', ' Europe, Italy, Korea']
There are 4 words.
maxsplit
divide solo las tres primeras comas en el bucket_list
. Si establece el maxsplit
, la lista tendrá un elemento maxsplit+1
.
Producción :
['Japan', ' Singapore', ' Maldives, Europe, Italy, Korea']
There are 3 words.
El método split()
divide las cadenas grandes en más pequeñas. Por lo tanto, el recuento de palabras en el array de cadenas se basará no exactamente en las palabras, sino en cómo se define el separador dividido.
Utilice el módulo RegEx para contar palabras en una cadena de Python
La expresión regular, regex
o regexp
para abreviar, es una herramienta muy poderosa para buscar y manipular cadenas de texto; esto se puede utilizar para preprocesamiento de datos, fines de validación, búsqueda de un patrón en una cadena de texto, etc. Regex también puede ayudar a contar palabras en una cadena de texto en escenarios donde tiene signos de puntuación o caracteres especiales que no son necesarios. Regex es un paquete integrado de Python, por lo que solo necesitamos importar el paquete re
para comenzar a usarlo.
# 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.")
Producción :
There are 6 words.
Utilice los métodos sum()
, strip()
y split()
para contar palabras en una cadena de Python
Este enfoque cuenta las palabras sin usar expresiones regulares. sum()
, strip()
y split()
son todos métodos integrados en Python. Discutiremos brevemente cada método y sus funcionalidades.
El método sum()
suma los elementos de izquierda a derecha y devuelve la suma. El método toma dos parámetros:
iterable
(obligatorio): una cadena, lista, tupla, etc., para sumar. Deben ser números.start
(opcional): un número que se suma a la suma o al valor de retorno del método.
Sintaxis de sum()
:
sum(iterable, start)
El siguiente es el método strip()
, que devuelve una copia de la cadena sin los espacios en blanco iniciales y finales si no hay argumento; de lo contrario, esto elimina la cadena definida en el argumento.
chars
(opcional): especifica la cadena que se eliminará de las partes izquierda y derecha del texto.
Sintaxis de string.strip()
:
string.strip(chars)
Finalmente, el método split()
, ya se discutió antes de este enfoque.
Ahora, usemos estos métodos juntos para contar palabras en una cadena. Primero, necesitamos importar la string
, un módulo incorporado de Python, antes de usar sus funcionalidades.
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.")
Producción :
There are 5 words.
Utilice el método count()
para contar palabras en Python String Python
El método count()
es un método integrado en Python. Toma tres parámetros y devuelve el número de ocurrencias según la subcadena dada.
substring
(obligatorio): una palabra clave que se buscará en la cadenastart
(opción) - índice de dónde comienza la búsquedaend
(opción) - índice de dónde termina la búsqueda
Nota: El índice comienza desde 0
en Python.
Sintaxis de count()
:
string.count(substring, start, end)
Este método es diferente del método anterior ya que no devuelve el total de palabras encontradas en la cadena, sino el número de ocurrencias encontradas dada la subcadena. Veamos cómo funciona este método a partir del siguiente ejemplo:
# 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.")
Producción :
There are 2 occurrences.
En este método, no importa si la subcadena es una palabra completa, frase, letra o cualquier combinación de caracteres o números.
En resumen, puede elegir cualquiera de estos enfoques dependiendo de su caso de uso. Para palabras separadas por espacios, podemos usar el enfoque sencillo: las funciones split()
o len()
. Para filtrar cadenas de texto para contar palabras sin caracteres especiales, use el módulo regex
. Crea un patrón que cuente las palabras que no incluyan ciertos caracteres. Sin utilizar regex
, utilice la alternativa que es la combinación de los métodos sum()
+ strip()
+ split()
. Por último, el método count()
también se puede utilizar para contar la palabra específica que se encuentra en la cadena.