-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 回答