在Java中,当有一个空格时,如何分割字符串



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

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()

这个答案有效

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

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

您似乎正在使用Scanner#next(),它返回单个令牌,其中令牌由空格分隔(空格字符是空白字符),而不是Scanner#nextLine(),它将走到行尾,即。查找n(或rn)

你可以这样做:

text.split(" ");

use this:

input.split("\s+");

这不仅会将" 510 "分割为"5"one_answers"10",还会被任意数量的空格分割。例如,如果在5到10之间有4个空格,输出将是相同的。

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

就这样做:

input.split(" ");

对不起。我是个白痴。我使用:scn.next()代替scn.nextLine()

" p{空间}"改为"或" s + "

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

text.split("\s+");

如果输入是

5 10 15

则输出将是

"5","10","15"

最新更新