java - 无法使 split() 函数执行我想要的操作

标签 java split token

我在使用 split() 时遇到问题。当输入“This is a text”之类的文本时,它仅打印“This”。

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

最佳答案

您的问题不在于split,而是在于Scanner,它默认使用一个或多个连续空格作为分隔符,因此s1.next() 将仅从用户输入中返回一个单词(没有空格),这意味着

String toParse = s1.next();

对于像This is a text这样的输入将变成This(因此没有空格可以分割)

如果您想从用户输入中读取整个数据,请使用s1.nextLine()

关于java - 无法使 split() 函数执行我想要的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23457430/

相关文章:

python - 拆分句点而不删除句点标点符号 - Python

android - 这是设计购物车 Android 应用程序的正确方法吗?

c - 结构中 ‘:’ 标记之前出现错误 : expected ‘,’ , ‘;’、 ‘}’、 ‘__attribute__’ 或 ‘=’

java - 在同一个Android Studio页面中显示两个listView

java - 发现符号的路径

java - apache camel批量解析大文件拆分数据

javascript - 使用正则表达式拆分在数组中创建 2 个空元素

java - 绕过 Android 模块的循环依赖?

java - 在另一个图像的点绘制图像

wcf - 如何配置自定义安全 token 处理程序?