Controlla se una stringa è intera in Python
- 
          
            Controlla se una stringa è intera in Python usando il metodo str.isdigit()
- 
          
            Controlla se una stringa è intera in Python usando il try ... exceptla gestione delle eccezioni
- Controlla se una stringa è intera in Python usando l’espressione regolare
 
Questo tutorial spiegherà come verificare se una stringa è un numero intero o meno in Python. Per stringa come numero intero, intendiamo che il valore memorizzato nella stringa rappresenta un numero intero. Possono esserci più metodi per verificarlo e discuteremo di questi metodi con esempi di codice in questo tutorial.
Controlla se una stringa è intera in Python usando il metodo str.isdigit()
    
Il modo più efficiente per verificare se una stringa è un numero intero in Python è usare il metodo str.isdigit(), poiché richiede il minor tempo per essere eseguito.
Il metodo str.isdigit() restituisce True se la stringa rappresenta un numero intero, altrimenti False. L’esempio di codice seguente mostra come possiamo usarlo.
def if_integer(string):
    if string[0] == ("-", "+"):
        return string[1:].isdigit()
    else:
        return string.isdigit()
string1 = "132"
string2 = "-132"
string3 = "abc"
print(if_integer(string1))
print(if_integer(string2))
print(if_integer(string3))
Produzione:
True
True
False
L’esempio precedente si prende cura anche se nella stringa è presente anche il segno dell’intero, + o -. Se la prima stringa è + o -, controlla se il resto della stringa è un numero intero o meno.
Controlla se una stringa è intera in Python usando il try ... except la gestione delle eccezioni
Un altro metodo è usare try ... except la gestione delle eccezioni sulla funzione int(). Se la stringa è un numero intero, restituirà True e altrimenti False. L’esempio di codice seguente mostra come implementare questo metodo.
def if_integer(string):
    try:
        int(string)
        return True
    except ValueError:
        return False
string1 = "132"
string2 = "-132"
string3 = "abc"
print(if_integer(string1))
print(if_integer(string2))
print(if_integer(string3))
Produzione:
True
True
False
Controlla se una stringa è intera in Python usando l’espressione regolare
Un approccio diverso e interessante che possiamo usare è l’espressione regolare. L’espressione regolare per rappresentare un numero intero sarà [+-]?\d+$, dove [+-]? significa che i segni [+-]? sono opzionali, [+-]?\d+$ significa che dovrebbero esserci una o più cifre nella stringa e $ è la fine della stringa.
Codice di esempio:
import re
def if_integer(string):
    reg_exp = "[-+]?\d+$"
    return re.match(reg_exp, string) is not None
string1 = "132"
string2 = "-132"
string3 = "abc"
print(if_integer(string1))
print(if_integer(string2))
print(if_integer(string3))
Produzione:
True
True
False
Articolo correlato - Python String
- Come controllare se una stringa è vuota in un modo pythonico
- 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