-1

重複の可能性:
正規表現マッチング -Java

スキャナーで FileInputStream を使用しています。
この形式の入力を抽出する必要があります:
(int,int) (int,int)
これらの 4 つの数値を配列に格納する必要があります。
これを行うために区切り記号を使用しようとしましたが、機能していないようです!
in は Scanner オブジェクトです。

in.useDelimiter("( * | * , * | * ) *");
int[] x = new int[4]; 
int k = 0;
while (in.hasNext() && k<4) 
{   
if(in.hasNextInt())
{
    x[k] = in.nextInt();
    k++;
}
else if(in.next("nil").equalsIgnoreCase("nil"))
{
    x[k] = 0;
    k++;
}
}

どんな助けでも大歓迎です!ありがとう!

Edit1: 入力がこの形式であることも確認する必要があります。

4

1 に答える 1

0

次のコードを使用できます。

String x = "(10,56)(2,8)(100,5)";

String arr[] = x.replaceAll("[(|)]","").split(",");
    for(int i=0;i<arr.length;i++){
        System.out.println(arr[i]);
    } // give u perfect result

 or

String arr[]=x.split("[(d,d)]");
for(int i=0;i<arr.length;i++){
        System.out.println(arr[i]);
    } // result with some whitespce
于 2012-09-15T09:02:21.783 に答える