正则表达式在字符串中查找整数

时间:2018-12-26 11:43:14

标签: java regex string integer

我正在使用正则表达式来解析字符串,该字符串使用会重复自身1次或更多次时间以从字符串中提取所有整数的任何非数字字符。我正在使用Java 8和InteliJ IDEA。

我的代码:

Pattern r = Pattern.compile("[^0-9]+");
String[] output = r.split("it 15 is25 a 20string");
for (int i = 0; i < output.length; i++) {
    System.out.print("output " +i+" = ");
    System.out.println(output[i]);
}

输出:

output 0 = 
output 1 = 15
output 2 = 25
output 3 = 20

预期输出:

output 0 = 15
output 1 = 25
output 2 = 20

当数组只包含数字字符串时,我不知道output [0]中的空字符串从哪里来。

您能启发我这种奇怪的行为,我该如何解决?

编辑: 我的问题被标记为重复 但是这里提供的关于extract digits from a string的答案不是我想要的,因为我想独立提取每个数字,而不是从字符串中删除所有非数字字符。

在某些情况下,here中关于拆分生成空字符串的答案可能解释了拆分的行为,但总体答案仅针对整个情况,不能解决我的问题。

0 个答案:

没有答案