前のセクションでは、最初の方法であるデフォルトの区切り文字を使用した文字列の解析を学習しました。このセクションでは、2 番目の方法である正規表現を区切り文字として使用した文字列の解析について学習しました。
Scanner オブジェクトが文字列内のデータを解析するためにデフォルトの区切り記号 (スペース) を使用したい場合、文字列内のデータを他の文字から区切るためにスペースを使用する必要があり、そうでない場合はスペースを使用する必要があることを知っておく必要があります。必要なデータを解析できません。
実際、Scanner オブジェクトはメソッドを呼び出すこともできます。
useDelimiter(正規表現);
正規表現を区切り文字として使用します。つまり、Scanner オブジェクトは文字列を解析するときに、正規表現に一致する文字列を区切り文字として使用します。
たとえば、区切り記号として正規表現 (数値以外のすべての文字列と一致) String regex = [^0123456789.]+ を使用して文字列を解析します。
importjava.util.*;publicclassMain{publicstaticvoidmain(Stringargs[]){Stringcost=電話料金リスト:市内通話料金66.66元、長距離通話料金166.66元、テキストメッセージ料金16.16元;Scannerscanner=newScanner(cost);スキャナー。 useDelimiter([^0123456789. ]+);//scanner は区切り記号を設定します doublesum=0;while(scanner.hasNext()){try{doubleprice=scanner.nextDouble();sum=sum+price;System.out. println(price);}catch (InputMismatchExceptionexp){String=scanner.next();}}System.out.println(総通信コスト: +sum+yuan);}}
実行結果は次のとおりです。
66.66166.6616.16 総通信費:249.48元