Extraire des entiers d'une chaîne textuelle à l'aide d'expressions régulières
Lorsque vous travaillez avec des données combinant du texte et des valeurs numériques, il devient nécessaire d'extraire ces nombres et de les convertir en un format utilisable. Les expressions régulières constituent un moyen puissant pour réaliser cette extraction à partir d'une chaîne d'entrée donnée.
Pour extraire tous les entiers d'une chaîne et les stocker dans un tableau d'entiers, suivez ces étapes :
-
Définir une expression régulière : Créez un modèle d'expression régulière qui correspond aux modèles numériques dans la chaîne. Utilisez Pattern p = Pattern.compile("\d "); pour détecter un ou plusieurs chiffres consécutifs. Notez que ce modèle ne correspond qu'à des nombres non négatifs.
-
Obtenez un Matcher : Créez un objet Matcher à l'aide du modèle. Utilisez Matcher m = p.matcher(line); pour associer le modèle à la chaîne d'entrée.
-
Parcourir les correspondances : Utilisez une boucle pour parcourir les correspondances trouvées par le Matcher. À chaque itération, utilisez m.find() pour trouver une correspondance et m.group() pour extraire le numéro correspondant.
-
Analyser les entiers (facultatif) : Si nécessaire, analysez le nombre extrait nombres en entiers en utilisant Integer.parseInt(m.group()).
-
Stocker dans un tableau : Créez un tableau pour stocker les entiers extraits et ajoutez les entiers analysés au tableau à chaque itération.
Exemple :
Pattern p = Pattern.compile("-?\d+");
Matcher m = p.matcher("There are more than -2 and less than 12 numbers here");
while (m.find()) {
System.out.println(m.group());
}
Copier après la connexion
Sortie :
-2
12
Copier après la connexion
Ce modèle d'expression régulière correspondra à la fois aux nombres positifs et négatifs, permettant extraction de nombres plus robuste.
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!