使用String.split()访问数值

riy*_*ana 2 java split

我尝试了很多,但无法得到解决方案,所以我在寻求帮助.

我有一个字符串 String input="---4--5-67--8-9---";

现在我需要转换成一个字符串数组,看起来像:

String [][]output={{4},{5},{67},{8},{9}};
Run Code Online (Sandbox Code Playgroud)

我试过split()和

java.util.Arrays.toString("---4--5-67--8-9---".split("-+")
Run Code Online (Sandbox Code Playgroud)

但找不到想要的答案.那么该怎么办?

实际上我需要值4,5,67,8,9.但我不知道如何找到它们.我会将值视为整数以进行进一步处理

Boz*_*zho 5

String[] numbers = "---4--5-67--8-9---".split("-+");
String[][] result = new String[numbers.length][1];
for (int i = 0; i < numbers.length; i++) {
    result[i][0] = numbers[i];
}
Run Code Online (Sandbox Code Playgroud)

更新:要删除初始空值,您可以获得输入的子字符串,如:

int startIdx = 0;
char[] chars = input.toCharArray();
for (int i = 0; i < chars.length; i ++) {
    if (Character.isDigit(chars[i])) {
        startIdx = i;
        break;
    }
}
input = input.substring(startIdx);
Run Code Online (Sandbox Code Playgroud)

(或者你可以String.isEmpty()在以后处理它们时检查它们是否为空().)