斯普利特没有抓到符号

时间:2017-05-06 14:55:34

标签: java split subset-sum

我尝试this exercice

我使用拆分来删除" [","]"和","。

    Scanner sc = new Scanner(System.in);

    String cadena, cadenaDelimitadores;

    cadena = sc.nextLine();

    cadenaDelimitadores = "[ .,;?!¡¿\'\"\\[\\]]+";

    String[] cadenaString = cadena.split(cadenaDelimitadores);

    int[] cadenaInt = new int[cadenaString.length];

    try{

        for (int i = 0; i < cadenaString.length; i++) {

            cadenaInt[i] = Integer.parseInt(cadenaString[i]);

            System.out.println(cadenaInt[i]);
        }
    } catch (NumberFormatException ex){

        System.out.println("Not found");
    }

当我执行代码时,有一些未捕获的符号。

输入示例:

[-3, 1, 2]

1 个答案:

答案 0 :(得分:0)

不是使用拆分并检查很多情况,而是使用模式而不是以下示例:

Pattern pattern = Pattern.compile("-?\\d+");
Matcher matcher = pattern.matcher("[-3, 1, 2]");
while (matcher.find()) {
    System.out.println(matcher.group());
}

<强>输出

-3
1
2