Maison > Java > javaDidacticiel > Comment les expressions régulières peuvent-elles extraire des nombres d'une chaîne et les stocker sous forme de tableau d'entiers ?

Comment les expressions régulières peuvent-elles extraire des nombres d'une chaîne et les stocker sous forme de tableau d'entiers ?

Susan Sarandon
Libérer: 2024-12-08 14:08:11
original
731 Les gens l'ont consulté

How Can Regular Expressions Extract Numbers from a String and Store Them as an Integer Array?

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

Problème :

Étant donné une chaîne contenant les deux texte et nombres, comment pouvons-nous extraire ces nombres et les stocker dans un tableau de entiers ?

Solution avec des expressions régulières :

Les expressions régulières (regex) peuvent être utilisées comme une méthode concise et efficace pour faire correspondre et extraire des modèles spécifiques à partir de chaînes. Voici comment nous pouvons utiliser l'expression régulière pour résoudre ce problème :

import java.util.regex.Pattern;
import java.util.regex.Matcher;
import java.util.LinkedList;

String line = "There are more than -2 and less than 12 numbers here";

Pattern p = Pattern.compile("-?\d+");
Matcher m = p.matcher(line);

LinkedList<String> numbers = new LinkedList<>();
while (m.find()) {
  numbers.add(m.group());
}

// Convert the extracted strings to integers
int[] intArray = new int[numbers.size()];
for (int i = 0; i < numbers.size(); i++) {
  intArray[i] = Integer.parseInt(numbers.get(i));
}

System.out.println(intArray);
Copier après la connexion

Dans cette solution :

  • Nous compilons le modèle d'expression régulière -?d , qui correspond aux nombres précédés d'un négatif facultatif signe (-).
  • Nous utilisons l'objet Matcher pour trouver toutes les occurrences de ce modèle dans le string.
  • Nous stockons les nombres correspondants dans une liste chaînée de chaînes.
  • Enfin, nous convertissons les chaînes extraites en entiers et les stockons dans un tableau d'entiers.

Cette approche fournit une solution propre et réutilisable pour extraire des nombres à partir de chaînes de longueur et de complexité arbitraires.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal