我有一个像这样的字符串:
String text = "[Values, one, two, three]";
我尝试用Guava的Splitter类来完成:
List<String> split = Splitter.on(",").splitToList(text);
但我的结果是:
[Values
one
two
three]
如何使用Regex获取值为1,2和3的List?
答案 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*");
现在使用String
将List<String>
数组转换为Arrays.asList()
。