我想做的就是在有空格时拆分字符串。例如,如果输入是:
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"