Maison >développement back-end >Tutoriel Python >Comment détecter efficacement la présence de caractères numériques dans une chaîne ?
Détermination de la présence numérique dans les chaînes
Lorsque l'on traite des données de chaîne, il est souvent nécessaire de vérifier si elles contiennent des caractères numériques. La plupart des approches se sont concentrées sur la recherche de lettres dans les chiffres. Cependant, si votre objectif est d'identifier des nombres dans des chaînes censées être infinies, voici une solution complète.
Fonctions de détection de nombres
Pour déterminer si une chaîne a des nombres, nous ne pouvons pas compter sur la fonction isdigit(), qui ne renvoie True que si tous les caractères sont numériques. Au lieu de cela, nous devons utiliser des fonctions qui évaluent chaque personnage individuellement.
1. Any Function avec isdigit()
L'utilisation de la fonction any() avec isdigit() nous permet de vérifier si un caractère de la chaîne est un nombre :
def has_numbers(inputString): return any(char.isdigit() for char in inputString)
2. Expression régulière
Les expressions régulières offrent une approche alternative :
import re def has_numbers(inputString): return bool(re.search(r'\d', inputString))
Les deux fonctions renvoient True si la chaîne contient un nombre, tel que "Je possède 1 chien". S'il n'y a pas de chiffres, ils renvoient False, comme dans "Je ne possède pas de chien".
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!