Suppression de valeurs numériques dans les chaînes de caractères Java

JavaBeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, vous allez apprendre à supprimer les valeurs numériques d'une chaîne de caractères en Java. Les chaînes de caractères en Java peuvent contenir des caractères alphanumériques et des symboles spéciaux. Par conséquent, parfois il est nécessaire de filtrer la chaîne pour ne conserver que les caractères alphabétiques. Dans ce laboratoire, nous allons utiliser la méthode replaceAll(), qui prend deux arguments : une expression régulière pour filtrer la chaîne et une chaîne de remplacement.

Créer un nouveau fichier Java

Accédez au répertoire ~/projet et créez un nouveau fichier Java en utilisant la commande suivante :

touch RemoveNumericValues.java

Définir la méthode main()

Ouvrez le fichier RemoveNumericValues.java dans un éditeur de texte et définissez la méthode main() comme suit :

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "House123sector4";
        System.out.println("Chaîne d'origine : " + str);
    }
}

Utiliser des expressions régulières pour supprimer les valeurs numériques

Dans cette étape, nous allons utiliser une expression régulière pour supprimer les valeurs numériques de la chaîne de caractères.

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "House123sector4";
        System.out.println("Chaîne d'origine : " + str);

        str = str.replaceAll("[^A-Za-z]", "");
        System.out.println("Chaîne ne contenant que des caractères alphabétiques : " + str);
    }
}

Dans le code ci-dessus, nous avons utilisé la méthode replaceAll() pour remplacer tous les caractères sauf les caractères alphabétiques de la chaîne str. L'expression régulière [A-Za-z] correspondra à tous les caractères de A à Z et de a à z.

Utiliser des expressions régulières pour supprimer les chiffres

Dans cette étape, nous allons utiliser une expression régulière pour supprimer les chiffres de la chaîne de caractères.

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "House123sector4";
        System.out.println("Chaîne d'origine : " + str);

        str = str.replaceAll("\\d", "");
        System.out.println("Chaîne ne contenant que des caractères alphabétiques : " + str);
    }
}

Dans le code ci-dessus, nous avons utilisé la méthode replaceAll() pour remplacer tous les chiffres de la chaîne str. L'expression régulière \\d correspondra à tous les chiffres présents dans la chaîne.

Utiliser des expressions régulières pour supprimer les chiffres (méthode alternative)

Dans cette étape, nous allons utiliser une autre expression régulière pour supprimer les chiffres de la chaîne de caractères.

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "House123sector4";
        System.out.println("Chaîne d'origine : " + str);

        str = str.replaceAll("[0-9]", "");
        System.out.println("Chaîne ne contenant que des caractères alphabétiques : " + str);
    }
}

Dans le code ci-dessus, nous avons utilisé la méthode replaceAll() pour remplacer tous les chiffres de la chaîne str. L'expression régulière [0-9] correspondra à tous les chiffres présents dans la chaîne.

Compiler et exécuter le code

Enregistrez les modifications apportées au fichier RemoveNumericValues.java, ouvrez le terminal, accédez au répertoire du projet et entrez la commande suivante pour compiler le code :

javac RemoveNumericValues.java

Une fois le code compilé avec succès, entrez la commande suivante pour exécuter le code :

java RemoveNumericValues

La sortie du code sera affichée sur le terminal.

Modifier la chaîne d'entrée

Pour tester le code avec différentes chaînes d'entrée, modifiez la chaîne str en une valeur de votre choix.

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "Hello%&$3World";
        System.out.println("Chaîne d'origine : " + str);

        str = str.replaceAll("[^A-Za-z]", "");
        System.out.println("Chaîne ne contenant que des caractères alphabétiques : " + str);
    }
}

Tester la méthode alternative

Modifiez la version précédente du code pour tester la méthode alternative comme suit :

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "Hello%&$3World";
        System.out.println("Chaîne d'origine : " + str);

        str = str.replaceAll("[0-9]", "");
        System.out.println("Chaîne ne contenant que des caractères alphabétiques : " + str);
    }
}

Tester la deuxième méthode

Modifiez la version précédente du code pour tester la deuxième méthode comme suit :

public class RemoveNumericValues {
    public static void main(String[] args) {
        String str = "Hello%&$3World";
        System.out.println("Chaîne d'origine : " + str);

        str = str.replaceAll("\\d", "");
        System.out.println("Chaîne ne contenant que des caractères alphabétiques : " + str);
    }
}

Résumé

Dans ce laboratoire, nous avons appris à supprimer les valeurs numériques d'une chaîne de caractères en Java. Nous avons utilisé la méthode replaceAll() avec différents expressions régulières pour filtrer la chaîne et n'obtenir que les caractères alphabétiques. Nous avons également appris à tester le code avec différentes chaînes d'entrée.