使用Java中的Regex在方括号内用逗号分隔值

时间:2014-03-18 16:42:46

标签: java regex

我有一个像这样的字符串:

String text = "[Values, one, two, three]";

我尝试用Guava的Splitter类来完成:

List<String> split = Splitter.on(",").splitToList(text);

但我的结果是:

[Values
one
two
three]

如何使用Regex获取值为1,2和3的List?

2 个答案:

答案 0 :(得分:0)

你不需要正则表达式,只需使用字符串操作。

List<String> values = new ArrayList<String>(Arrays.asList(text.substring(1, text.length() - 1).split(", ")));

如果您需要删除第一个值,请执行以下操作:

values.remove(0);

答案 1 :(得分:0)

首先使用[从字符串中删除]replaceAll()。然后使用\s*,\s*进行拆分,这意味着逗号可以在其之前或之后具有可选空格。

String []splits = text.replaceAll("^\\s*\\[|\\]\\s*$", "").split("\\s*,\\s*");

现在使用StringList<String>数组转换为Arrays.asList()