Maison >Java >javaDidacticiel >Comment diviser une chaîne entre des lettres et des chiffres en Java à l'aide d'expressions régulières ?

Comment diviser une chaîne entre des lettres et des chiffres en Java à l'aide d'expressions régulières ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-03 11:42:02281parcourir

How to Split a String Between Letters and Digits in Java Using Regular Expressions?

Diviser des chaînes entre lettres et chiffres en Java

Une tâche courante en programmation consiste à diviser une chaîne qui alterne entre des lettres et des chiffres. Par exemple, étant donné une chaîne comme "123abc345def", on pourrait vouloir la séparer en ["123", "abc", "345", "def"].

Pour y parvenir, on peut utiliser des chaînes régulières expressions pour capturer le modèle. En Java, l'expression régulière suivante peut être utilisée :

(?<=\D)(?=\d)|(?<=\d)(?=\D)

Explication :

  • (?<=D) : Vérifie si la position actuelle est précédée d'un non- digit.
  • (?=d) : Vérifie si la position actuelle est suivie d'un chiffre.
  • | : OU logique, pour gérer le modèle inverse (chiffre suivi d'un non-chiffre).
  • \d : correspond à n'importe quel chiffre.
  • \D : correspond à n'importe quel non-chiffre.

Exemple d'utilisation :

String str = "123abc345def";
String[] splitted = str.split("(?&lt;=\D)(?=\d)|(?&lt;=\d)(?=\D)");

for (String part : splitted) {
    System.out.println(part);
}

Ce code s'imprimera :

123
abc
345
def

Notez que le numéro Le nombre de lettres et de chiffres dans la chaîne peut varier. L'expression régulière divisera correctement la chaîne en fonction 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