Maison >Java >javaDidacticiel >Comment puis-je extraire des nombres d'une chaîne à l'aide d'expressions régulières Java ?

Comment puis-je extraire des nombres d'une chaîne à l'aide d'expressions régulières Java ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-26 17:12:15587parcourir

How Can I Extract Numbers from a String Using Java Regular Expressions?

Extraire des nombres à partir de chaînes à l'aide d'expressions régulières

Pour extraire des nombres d'une chaîne dans un tableau d'entiers à l'aide d'expressions régulières, vous pouvez utiliser l'outil Classes Pattern et Matcher en Java. Voici une solution :

Solution :

Pattern p = Pattern.compile("-?\d+");
Matcher m = p.matcher("There are more than -2 and less than 12 numbers here");
LinkedList<Integer> numbers = new LinkedList<>();

while (m.find()) {
   numbers.add(Integer.parseInt(m.group()));
}

System.out.println(numbers); // prints [-2, 12]

Explication :

  • p = Pattern.compile( "-?\d " : Cette ligne compile un modèle d'expression régulière qui correspond à n'importe quel nombre, qui peut éventuellement avoir un signe négatif en tête. sign.
  • m = p.matcher("...") : Cette ligne crée un objet Matcher en utilisant le modèle et la chaîne spécifiée.
  • La boucle while parcourt toutes les correspondances trouvées par the Matcher.
  • numbers.add(Integer.parseInt(m.group())) : Pour chaque correspondance, la valeur numérique est extraite à l'aide de m.group() puis analysée dans un entier utilisant Integer.parseInt().
  • Le résultat est une LinkedList d'entiers contenant les nombres extraits.

Notez que le -? une partie du modèle gère les nombres négatifs. Si vous ne souhaitez pas autoriser les nombres négatifs, vous pouvez le supprimer du modèle.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn