В предыдущем разделе мы изучили первый метод — анализ строк с использованием разделителей по умолчанию. В этом разделе мы изучили второй метод — анализ строк с использованием регулярных выражений в качестве разделителей .
Нам нужно знать, что если объект Scanner хочет использовать знак разделения по умолчанию, который представляет собой пробел, для анализа данных в строке, необходимо использовать пробелы для отделения данных в строке от других символов, в противном случае это будет не сможем проанализировать нужные нам данные.
Фактически объект Scanner также может вызывать методы:
useDelimiter (регулярное выражение);
Используйте регулярные выражения в качестве разделителей, то есть, когда объект Scanner анализирует строки, он использует строки, соответствующие регулярному выражению, в качестве разделителей.
Например, проанализируйте строку, используя регулярное выражение (соответствует всем нечисловым строкам) String regex = [^0123456789.]+ в качестве разделителя.
importjava.util.*;publicclassMain{publicstaticvoidmain(Stringargs[]){Stringcost=Список телефонных счетов: плата за местные звонки 66,66 юаней, плата за междугородние звонки 166,66 юаней, плата за текстовые сообщения 16,16 юаней; Scannerscanner=newScanner(стоимость); сканер. useDelimiter([^0123456789. ]+);//сканер устанавливает разделительный знак doublesum=0; while(scanner.hasNext()){try{doubleprice=scanner.nextDouble();sum=sum+price;System.out. println(цена);}catch (InputMismatchExceptionexp){Stringt=scanner.next();}}System.out.println(Общая стоимость связи: +sum+yuan);}}
Результаты бега следующие:
66.66166.6616.16 Общая стоимость связи: 249,48 юаней.