我对split()
有疑问。输入“这是一个文本”这样的文本时,它只会打印“这个”。
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Enter bta3 ");
Scanner s1 = new Scanner(System.in);
String toParse = s1.next();
String delims = "[ ]+";
String[] tokens = toParse.split(delims);
for (int i = 0; i < tokens.length; i++) {
{
System.out.println(tokens[i]);
}
}
}
答案 0 :(得分:3)
您的问题不在于split
,而在于Scanner
,默认情况下使用一个或多个连续的空格作为分隔符,因此s1.next()
将只返回用户输入中的一个字(没有空白)意味着
String toParse = s1.next();
像<{1}}这样的输入的将变为This is a text
(因此没有要分割的空格)
如果您想使用This
从用户输入读取整个数据。