拆分未捕获符号

Split not caught the symbols

我正在尝试 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");
    }

当我执行代码时,有一些来自 split 的符号没有被捕获。

输入示例:

[-3, 1, 2]

您没有使用 split 并检查许多情况,而是使用 Pattern 下面是一个示例:

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

输出

-3
1
2