上一節我們學習了第一種方法——使用預設分隔標記解析字串,這一節我們學習第二種方法——使用正規表示式作為分隔標記解析字串。
我們要知道,Scanner物件想要使用預設分隔標記,也就是空格,解析字串中的數據,就要求必須使用空格將字串中的數據和其他字元分隔開,否則就無法解析出我們所需要的數據。
實際上,Scanner物件還可以呼叫方法:
useDelimiter(正規表示式);
將正規表示式作為分隔標記,也就是說,Scanner物件在解析字串時,把與正規表示式相符的字串當作分隔標記。
例如,使用正規表示式(匹配所有非數字字串)String regex = [^0123456789.]+作為分隔標記解析字串。
importjava.util.*;publicclassMain{publicstaticvoidmain(Stringargs[]){Stringcost=話費清單:市話費66.66元,長途電話費166.66元,簡訊費16.16元;Scannerscanner=newScanner(cost);scanner. ]+);//scanner設定分隔標記doublesum=0;while(scanner.hasNext()){try{doubleprice=scanner.nextDouble();sum=sum+price;System.out.println(price);}catch (InputMismatchExceptionexp){Stringt=scanner.next();}}System.out.println(總通訊費用:+sum+元);}}
運行結果如下:
66.66166.6616.16總通信費用:249.48元