用'拆分字符串,'并有条件

时间:2015-03-15 23:24:10

标签: java

使用令牌,拆分字符串。前提条件是:

  • 它应删除逗号之后的空格,即x,----y -> [x,y]
  • 它应删除逗号之前的空格,即x----,y -> [x,y]
  • 它应删除最后一个值之后的空格,即x,y---- -> [x,y]
  • 它应删除第一个值之前的空格,即-----x,y -> [x,y]

我试过Lists.newArrayList(Splitter.on(Pattern.compile("\\s*,\\s*")).split("x,y")) 但它无法解决第3和第4前提条件。

N.B。空格被指定为 -

1 个答案:

答案 0 :(得分:0)

您似乎正在使用番石榴Splitter,因此您可以使用:

Splitter.on(',').trimResults().splitToList(string)

如果你没有使用它,你可以在拆分后手动修剪片段:

String[] frags = string.split(',');
for (int i = 0; i < frags.length; ++i) {
  frags[i] = frags[i].trim();
}
return Lists.newArrayList(frags);

或者,您可以执行以下操作:

Lists.newArrayList(string.trim().split("\\s*,\\s*"));