Dans la section précédente, nous avons appris la première méthode : analyser les chaînes à l'aide de délimiteurs par défaut. Dans cette section, nous apprenons la deuxième méthode : analyser les chaînes en utilisant des expressions régulières comme délimiteurs .
Nous devons savoir que si l'objet Scanner veut utiliser la marque de séparation par défaut, qui est un espace, pour analyser les données de la chaîne, il est nécessaire d'utiliser des espaces pour séparer les données de la chaîne des autres caractères, sinon il le fera. ne pas être en mesure d'analyser les données dont nous avons besoin.
En fait, l'objet Scanner peut également appeler des méthodes :
useDelimiter (expression régulière);
Utilisez des expressions régulières comme délimiteurs, c'est-à-dire que lorsque l'objet Scanner analyse des chaînes, il utilise des chaînes qui correspondent à l'expression régulière comme délimiteurs.
Par exemple, analysez la chaîne à l'aide de l'expression régulière (correspond à toutes les chaînes non numériques) String regex = [^0123456789.]+ comme marque de délimiteur.
importjava.util.*;publicclassMain{publicstaticvoidmain(Stringargs[]){Stringcost=Liste des factures de téléphone : frais d'appel local 66,66 yuans, frais d'appel longue distance 166,66 yuans, frais de message texte 16,16 yuans ;Scannerscanner=newScanner(coût);scanner. useDelimiter([^0123456789. ]+);//le scanner définit la marque de séparation doublesum=0;while(scanner.hasNext()){try{doubleprice=scanner.nextDouble();sum=sum+price;System.out. println(price);}catch (InputMismatchExceptionexp){Stringt=scanner.next();}}System.out.println(Coût total de communication : +somme+yuan);}}
Les résultats en cours d'exécution sont les suivants :
66.66166.6616.16 Coût total de communication : 249,48 yuans