解析字符串并将条目添加到列表中

时间:2014-07-20 18:40:18

标签: java list parsing

我在分隔符之间有一个包含内容的字符串。该字符串将以此为例:

a
xxxxx
b xxxxx c xxxxx d xxxxx

所以我想解析它以提取a,b,c,d等,并将它们中的每一个添加到列表中,以便稍后我可以单独访问每个。我该怎么做呢?谢谢

3 个答案:

答案 0 :(得分:2)

这可能会对你有帮助。

  • 用空字符串替换所有xxxxx
  • 基于空间分割。

示例代码:

String s="a\nxxxxx\nb xxxxx c xxxxx d xxxxx";
List<String> list=Arrays.asList(s.replaceAll("xxxxx", "").split("\\s+"));
System.out.println(list);

String[] array=list.toArray(new String[list.size()]);

输出:

[a, b, c, d]

修改

根据@Pshemo,您可以一步完成两者。

List<String> list=Arrays.asList(s.split("\\s*\\bxxxxx\\b\\s*"));

答案 1 :(得分:1)

我想你想要str.split();方法

一个例子是:

String x = "axxxxbxxxxc";
String[] arr = x.split("xxxx");
// arr[0] would be a
// arr[1] would be b
// arr[2] would be c

更多信息here

答案 2 :(得分:0)

解释:我使用正则表达式来拆分String。

\\sx+\\s如果单词以空格开头,则以任意数量的x开头,最后以空白

 x+ the words consist of whatever number of x 

<强>代码

    String s = "a"
            + "xxxxx"
            + "b xxxxx c xxxxx d xxxxx";

    String[] sp = s.split("\\sx+\\s|x+");
    for (String sp1 : sp) {
         System.out.println(sp1);
    }

<强>输出

a
b
c
d