Maison >Java >javaDidacticiel >Comment les expressions régulières peuvent-elles extraire des entiers à partir de chaînes de texte ?

Comment les expressions régulières peuvent-elles extraire des entiers à partir de chaînes de texte ?

DDD
DDDoriginal
2024-12-07 19:09:14668parcourir

How Can Regular Expressions Extract Integers from Text Strings?

Extraire des entiers d'un texte à l'aide d'expressions régulières

Dans cet article, nous explorons comment extraire des valeurs entières d'une chaîne de texte donnée. Les expressions régulières constituent un outil puissant pour cette tâche.

Problème :

Considérez une chaîne contenant une phrase anglaise avec des chiffres incorporés. Nous visons à isoler ces nombres et à les stocker sous forme de tableau d’entiers. Les expressions régulières peuvent-elles nous aider dans ce processus ?

Solution :

En utilisant la solution de Sean, nous la modifions légèrement :

LinkedList<String> numbers = new LinkedList<String>();

Pattern p = Pattern.compile("\d+");
Matcher m = p.matcher(line);
while (m.find()) {
    numbers.add(m.group());
}

Extraction améliorée :

Pour affiner notre extraction, nous pouvons utiliser une expression régulière qui capture à la fois le positif et le négatif nombres :

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());
}

Cette expression régulière modifiée garantit que les deux types de nombres sont extraits. La sortie affichera à la fois "-2" et "12".

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