使用Java中的Regex在方括号内用逗号分隔值
我有一个像这样的字符串:
String text = "[Values, one, two, three]";
我尝试用Guava的类Splitter做到这一点:
List split = Splitter.on(",").splitToList(text);
但我的结果是:
[Values one two three]
如何使用Regex获取值为1,2和3的List?
首先使用replaceAll()
从字符串中删除[
和]
。 然后使用\s*,\s*
进行拆分\s*,\s*
这意味着逗号可以在其之前或之后具有可选空格。
String []splits = text.replaceAll("^\\s*\\[|\\]\\s*$", "").split("\\s*,\\s*");
现在使用Arrays.asList()
将String
数组转换为List
。
你不需要正则表达式,只需使用字符串操作。
List values = new ArrayList (Arrays.asList(text.substring(1, text.length() - 1).split(", ")));
如果您需要删除第一个值,那么只需执行以下操作:
values.remove(0);