有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将字符串拆分为多个值

BufferedReader br = new BufferedReader(new FileReader(file));
        String delimiter = "\\s\\d\\.\\s";
        String cl;

        while ((cl = br.readLine()) != null) {
            String split[] = cl.split(" ", 2);
            String name = split[0];
            //System.out.println( name);
            String description = split[1];

            String s[] = description.split(delimiter);

        }

        br.close();

尝试在中读入类似的内容,并按上面的分隔符拆分

( .WKS 1。Lotus工作表(文件扩展名)。2.Microsoft Works文档(文件扩展名)))

然而,我得到了一个空的空间,它没有在Arr[1]中放入任何内容,只是在数组[0]中

我的最终目标是将它们与存储在一起。WKS作为键,并使用链接将其其余部分存储到该键下的哈希表中


共 (1) 个答案

  1. # 1 楼答案

    通过更改"\\d\\.\\s"分隔符,此代码:

    String delimiter = "\\d\\.\\s";
    String cl =  ".WKS 1. Lotus Worksheet (filename extension). 2. Microsoft Works document (filename extension).";
    String split[] = cl.split(" ", 2);
    
    String name = split[0];
    
    String description = split[1];
    
    String splitted[] = description.split(delimiter);
    
    System.out.println("name=" + name);
    System.out.println("description" + description);
    
    for (String s : splitted) {
        System.out.println(s);
    }
    

    印刷品

    name=.WKS
    description=1. Lotus Worksheet (filename extension). 2. Microsoft Works document (filename extension)).
    
    Lotus Worksheet (filename extension). 
    Microsoft Works document (filename extension).
    

    请注意空行,这意味着splitted[0]是空的
    这就是你想要的吗