如果有空格,如何在Java中拆分字符串?

时间:2014-06-10 17:18:02

标签: java regex string

我想要做的就是在有空格时拆分字符串。例如,如果输入是:

5 10

数组应为[“5”,“10”]

我试过了:

  Scanner scn = new Scanner(System.in);
  String[] inputs = input.split("\\p{Space}");
  System.out.println(inputs[0]);
  System.out.println(inputs[1]);

然而,只有5次出现,然后有一个数组越界错误。

编辑:对不起,我是个白痴。我使用:scn.next()而不是scn.nextLine()

7 个答案:

答案 0 :(得分:3)

你可以通过以下方式完成:

text.split(" ");

答案 1 :(得分:3)

这个答案有效

text.split(" "); // to split on a single space character

但似乎你没有得到你说你的输入。

您似乎正在使用Scanner#next()返回单个标记,其中标记由空格分隔(空格字符是空格字符),而不是Scanner#nextLine()将结束这条线,即。寻找\n(或\r\n)。

答案 2 :(得分:0)

使用它:

input.split("\\s+");

这不仅会分裂" 5 10"到" 5"和" 10",但会被任意数量的空格分开。例如,如果在5到10之间有4个空格,则输出将是相同的。

或者您可以简单地使用" "忽略制表符和换行符。

答案 3 :(得分:0)

这样做:

input.split(" ");

答案 4 :(得分:0)

对不起。我是个白痴。我用了: scn.next()而不是scn.nextLine()

答案 5 :(得分:-1)

将“\ p {Space}”更改为“”或“\ s +”

答案 6 :(得分:-1)

如果两个单词之间有多个空格,请使用:

  

text.split("\\s+");

如果输入

  

5 10 15

然后输出

  

"5","10","15"