Im vorherigen Abschnitt haben wir die erste Methode kennengelernt – das Parsen von Zeichenfolgen mit Standardtrennzeichen. In diesem Abschnitt lernen wir die zweite Methode – das Parsen von Zeichenfolgen mit regulären Ausdrücken als Trennzeichen .
Wir müssen wissen, dass, wenn das Scanner-Objekt das Standardtrennzeichen (ein Leerzeichen) zum Parsen der Daten in der Zeichenfolge verwenden möchte, es Leerzeichen verwenden muss, um die Daten in der Zeichenfolge von anderen Zeichen zu trennen, andernfalls wird dies der Fall sein nicht in der Lage sein, die benötigten Daten zu analysieren.
Tatsächlich kann das Scanner-Objekt auch Methoden aufrufen:
useDelimiter(regulärer Ausdruck);
Verwenden Sie reguläre Ausdrücke als Trennzeichen. Das heißt, wenn das Scanner-Objekt Zeichenfolgen analysiert, verwendet es Zeichenfolgen, die mit dem regulären Ausdruck übereinstimmen, als Trennzeichen.
Analysieren Sie die Zeichenfolge beispielsweise mit dem regulären Ausdruck (entspricht allen nicht numerischen Zeichenfolgen) String regex = [^0123456789.]+ als Trennzeichen.
importjava.util.*;publicclassMain{publicstaticvoidmain(Stringargs[]){Stringcost=Telefonrechnungsliste: Ortsgesprächsgebühr 66,66 Yuan, Ferngesprächsgebühr 166,66 Yuan, SMS-Gebühr 16,16 Yuan;Scannerscanner=newScanner(cost);scanner. useDelimiter([^0123456789. ]+);//scanner setzt die Trennmarke doublesum=0;while(scanner.hasNext()){try{doubleprice=scanner.nextDouble();sum=sum+price;System.out. println(price);}catch (InputMismatchExceptionexp){Stringt=scanner.next();}}System.out.println(Total communication cost: +sum+yuan);}}
Die Laufergebnisse sind wie folgt:
66.66166.6616.16 Gesamtkommunikationskosten: 249,48 Yuan