将字符串拆分为多个值

时间:2018-11-07 20:56:48

标签: 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 Worksheet(文件扩展名)。 2. Microsoft Works文档(文件扩展名)。 )

但是,我得到了一个空白空间,它没有在Arr [1]中放任何东西,而只是在array [0]中放了东西。

我的最终目标是将它们以.WKS作为密钥存储,并通过链接将其余的存储到该密钥下的哈希表中。

1 个答案:

答案 0 :(得分:0)

通过将定界符更改为"\\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]为空。
这就是你想要的吗?