Conta le parole in stringa in Python
-
Usa i metodi
split()
elen()
per contare le parole in Python String - Usa il modulo RegEx per contare le parole in Python String
-
Usa i metodi
sum()
,strip()
esplit()
per contare le parole in Python String -
Usa il metodo
count()
per contare le parole in Python String Python
Questo tutorial introdurrà come contare le parole nella stringa Python.
Usa i metodi split()
e len()
per contare le parole in Python String
split()
è un metodo integrato in Python che separa le parole all’interno di una stringa utilizzando un separatore specifico e restituisce un array di stringhe. Questo metodo accetta al massimo due parametri come argomento:
separator
(opzionale) - Funge da delimitatore (es. virgole, punto e virgola, virgolette o barre). Specifica il limite su cui separare nella stringa. Ilseparator
predefinito è qualsiasi spazio bianco (spazio, nuova riga, tab, ecc.) se ilseparator
non è specificato.maxsplit
(opzionale) - Definisce il numero massimo di split. Il valore predefinito dimaxsplit
se non definito è-1
, il che significa che non ha limiti e dividerà la stringa in più blocchi.
Sintassi di split()
:
str.split(separator, maxsplit)
len()
è anche un metodo integrato in Python, che restituisce il numero di stringhe in un array o conta la lunghezza degli elementi in un oggetto. Questo metodo accetta solo un parametro: una stringa, byte, elenco, oggetto, set o una raccolta. Solleverà un’eccezione TypeError
se l’argomento è mancante o non valido.
Sintassi di len()
:
len(s)
Vediamo come i metodi split()
e len()
contano le parole in una stringa.
Esempio 1: nessun parametro
# 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.")
Produzione:
There are 9 words.
Esempio 2: Con il parametro 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.")
Produzione:
['Japan', ' Singapore', ' Maldives', ' Europe', ' Italy', ' Korea']
There are 6 words.
Il metodo split()
restituirà un nuovo elenco di stringhe e len()
conta la stringa all’interno della lista.
Esempio 3: Con i parametri separator
e 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.")
Produzione:
['Japan', ' Singapore', ' Maldives', ' Europe, Italy, Korea']
There are 4 words.
maxsplit
divide solo le prime tre virgole nella bucket_list
. Se imposti “maxsplit”, la lista avrà un elemento “maxsplit+1”.
Produzione:
['Japan', ' Singapore', ' Maldives, Europe, Italy, Korea']
There are 3 words.
Il metodo split()
suddivide le stringhe grandi in stringhe più piccole. Pertanto, il conteggio delle parole nell’array di stringhe sarà basato non esattamente sulle parole ma su come è definito il separatore diviso.
Usa il modulo RegEx per contare le parole in Python String
L’espressione regolare, in breve regex
o regexp
, è uno strumento molto potente per la ricerca e la manipolazione di stringhe di testo; questo può essere utilizzato per la preelaborazione dei dati, per scopi di convalida, per trovare un modello in una stringa di testo e così via. Regex può anche aiutare a contare le parole in una stringa di testo in scenari in cui sono presenti segni di punteggiatura o caratteri speciali non necessari. Regex è un pacchetto integrato in Python, quindi abbiamo solo bisogno di importare il pacchetto re
per iniziare 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.")
Produzione:
There are 6 words.
Usa i metodi sum()
, strip()
e split()
per contare le parole in Python String
Questo approccio conta le parole senza usare l’espressione regolare. I metodi sum()
, strip()
e split()
sono tutti metodi incorporati in Python. Discuteremo brevemente ogni metodo e le sue funzionalità.
Il metodo sum()
somma gli elementi da sinistra a destra e restituisce la somma. Il metodo accetta due parametri:
iterable
(richiesto) - una stringa, una lista, una tupla, ecc., da sommare. Questi dovrebbero essere numeri.start
(opzionale) - Un numero aggiunto alla somma o al valore di ritorno del metodo.
Sintassi di somma()
:
sum(iterable, start)
Il prossimo è il metodo strip()
, che restituisce una copia della stringa priva sia degli spazi iniziali che di quelli finali se non ci sono argomenti; in caso contrario, rimuove la stringa definita nell’argomento.
chars
(opzionale) - specifica la stringa da rimuovere dalle parti sinistra e destra del testo.
Sintassi di string.strip()
:
string.strip(chars)
Infine, il metodo split()
era già stato discusso prima di questo approccio.
Ora, usiamo questi metodi insieme per contare le parole in una stringa. Innanzitutto, dobbiamo importare la string
, un modulo integrato in Python, prima di utilizzare le sue funzionalità.
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.")
Produzione:
There are 5 words.
Usa il metodo count()
per contare le parole in Python String Python
Il metodo count()
è un metodo integrato in Python. Richiede tre parametri e restituisce il numero di occorrenze in base alla sottostringa data.
substring
(richiesto) - una parola chiave da cercare nella stringastart
(opzione) - indice da dove inizia la ricercaend
(opzione) - indice di dove finisce la ricerca
Nota: l’indice inizia da 0
in Python.
Sintassi di count()
:
string.count(substring, start, end)
Questo metodo è diverso dal metodo precedente poiché non restituisce il totale delle parole trovate nella stringa ma il numero di occorrenze trovate data la sottostringa. Vediamo come funziona questo metodo dall’esempio seguente:
# 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.")
Produzione:
There are 2 occurrences.
In questo metodo, non importa se la sottostringa è un’intera parola, frase, lettera o qualsiasi combinazione di caratteri o numeri.
In sintesi, puoi scegliere uno di questi approcci a seconda del tuo caso d’uso. Per le parole separate da spazi, possiamo usare l’approccio diretto: le funzioni split()
o len()
. Per filtrare le stringhe di testo per contare le parole senza caratteri speciali, usa il modulo regex
. Crea uno schema che conti le parole che non includono determinati caratteri. Senza usare regex
, usa l’alternativa che è la combinazione dei metodi sum()
+ strip()
+ split()
. Infine, il metodo count()
può essere utilizzato anche per contare la specifica parola trovata nella stringa.
Articolo correlato - Python String
- Come controllare una stringa è vuota in modo pitonico
- Converti una stringa in nome variabile in Python
- Come rimuovere gli spazi bianchi in una stringa in Python
- Estrai numeri da una stringa in Python
- Come convertire una stringa in datario in Python
- Come convertire una stringa in minuscola in Python 2 e 3