如何从java中的字符串中提取数字

时间:2017-07-23 14:37:10

标签: java

我写的程序会收到像这样的输入

W 12.1 -1 2.2
B 1.2 3.2 1

我需要检查数字是否在coonstraints中,所以我的想法是将这些数字作为整数存储在数组中。数字需要用白色空格和点分隔。目前我有这段代码:

public static void main(String[] args) {
    Scanner reader = new Scanner (System.in);
    String input = reader.nextLine();
    String[] numbers = input.substring(2,input.length()).split("\\.");
    System.out.println(Arrays.toString(numbers));
        }

对于输入W 12.1 -1 2.2,输出为[12, 1 -1 2, 2]如您所见,我设法让它处理点,但我无法移除空格。什么是实现我的任务最资源有效的方法?

1 个答案:

答案 0 :(得分:-1)

  

数字需要用空格和点分隔。

应用replaceAll("\\s", ".").替换空格。

String[] numbers = input.replaceAll("\\s", ".").substring(2,input.length()).split("\\.");

或在split()中使用另一个接受.whitespace char的正则表达式:

String[] numbers = input.substring(2,input.length()).split("\\.|\\s");