Maison >Java >javaDidacticiel >Comment puis-je extraire des valeurs numériques de chaînes à l'aide d'expressions régulières Java ?

Comment puis-je extraire des valeurs numériques de chaînes à l'aide d'expressions régulières Java ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-11 03:21:09853parcourir

How Can I Extract Numerical Values from Strings Using Java Regular Expressions?

Extraction de valeurs à l'aide d'expressions régulières en Java

Cet article aborde la nécessité d'extraire des segments de texte spécifiques à l'aide d'expressions régulières en Java. Le contexte consiste à isoler le composant numérique enfermé dans le modèle "[un nombre]" à partir d'une série de chaînes.

Pour y parvenir, nous utilisons les classes regex Java. Une expression régulière, telle que "^([a-zA-Z] )([0-9] )(.*)", est construite pour identifier le modèle souhaité.

Le noyau Java appelle à l'application cette expression régulière sur les données sources sont :

  1. Créez un objet Matcher à l'aide de la méthode Pattern.compile().
  2. Utilisez la méthode Matcher.find() pour détecter si le modèle existe dans la chaîne d'entrée.
  3. Récupérez le groupe correspondant à l'aide de la méthode Matcher.group(). Dans l'exemple ci-dessous, m.group(2) extraira la première occurrence de "[some number]".

Un exemple complet est fourni :

private static final Pattern p = Pattern.compile("^([a-zA-Z]+)([0-9]+)(.*)");
public static void main(String[] args) {
    Matcher m = p.matcher("Testing123Testing");
    if (m.find()) {
        System.out.println(m.group(0)); // whole matched expression
        System.out.println(m.group(1)); // Testing
        System.out.println(m.group(2)); // 123
        System.out.println(m.group(3)); // Testing
    }
}

Pour les scénarios où le composant numérique peut inclure un signe, une expression régulière modifiée comme "^D (-?d ).*", doit être utilisée.

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