Java-将List <string>拆分为...子列表?

时间:2018-08-07 14:51:09

标签: java string list split

我真的不确定如何最好地问这个,所以希望有人能弄清楚我在说什么。

假设一个看起来像这样的列表:

[
    "Harum beatae autem occaecati. Incidunt quis",
    "eius perferendis itaque dolorum dolores doloribus.",
    "Veniam voluptate mollitia\net aut qui magnam. Ut",
    "quos unde nulla qui. Earum odit dolores non illo illum."
]

我想像这样在“ \ n”处分割它:

[
    "Harum beatae autem occaecati. Incidunt quis",
    "eius perferendis itaque dolorum dolores doloribus.",
    "Veniam voluptate mollitia",
    "et aut qui magnam. Ut",
    "quos unde nulla qui. Earum odit dolores non illo illum."
]

3 个答案:

答案 0 :(得分:10)

如果您使用的是Java 8,则可以像这样使用流和flatMap

List<String> result = list.stream()
        .flatMap(s -> Arrays.stream(s.split("\n")))
        .collect(Collectors.toList());

如果没有,您可以使用一个像这样的简单循环:

List<String> result = new ArrayList<>();
for (String s : list){
    result.addAll(Arrays.asList(s.split("\n")));
}

答案 1 :(得分:0)

尝试这个。

/opt/jenkins_data/workspace/secuview-front_master-Z2ADTSIGTSEJOG3UYRU4FPDUF5VZMB3SMQLEOUD46TUZG4POWKYQ@tmp/durable-a484faaf/script.sh: line 2: syntax error near unexpected token `('

答案 2 :(得分:0)

使用StringTokenizer添加另一种简单的实现方式

List<String> result = new ArrayList<>();
for (String s : list){
   StringTokenizer st = new StringTokenizer(s,"\n");  
   while(st.hasMoreTokens()) {
   result.add(st.nextToken());
}
}