无法使split()函数做我想做的事情

时间:2014-05-04 14:32:07

标签: java split token

我对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]);
            }
        }
    }

1 个答案:

答案 0 :(得分:3)

您的问题不在于split,而在于Scanner,默认情况下使用一个或多个连续的空格作为分隔符,因此s1.next()将只返回用户输入中的一个字(没有空白)意味着

String toParse = s1.next();
像<{1}}这样的输入的

将变为This is a text(因此没有要分割的空格)

如果您想使用This从用户输入读取整个数据。