3

我有一个问题,我敢肯定有一个相对简单的答案,但目前我有一个巨大的大脑放屁,似乎无法想到一个不涉及荒谬的优雅解决方案无数的 if 语句。

基本上,我有一个网页动态更新用户呈现为一个字符串,这样风格化

用户 1、用户 2、用户 3、用户 4

但是,当我从其他位置删除其中一个用户时,他们会从列表中删除,但我只剩下以下内容

开始

, 用户 2, 用户 3, 用户 4

中间

用户 1, , 用户 3, 用户 4

结尾

用户 1、用户 2、用户 3、

如果有人知道删除这些不需要的逗号的相对简单的方法,那将非常有帮助,它已经困扰了我几个小时。

谢谢一堆。

4

4 回答 4

6

您可以匹配,$,^,, ,使用正则表达式并将其替换为空

于 2012-06-15T12:07:21.220 回答
1

您可以简单地尝试:

String s = "User1, , User2, User3, ,...;
s = s.replaceAll(", ,", ",");
于 2012-06-15T12:08:29.487 回答
1
",User1, , User3, User4,".replaceAll("[\\s],|,$|^,", "");

->

User1, User3, User4
于 2012-06-15T12:14:30.860 回答
1

我会先拆分然后加入。

番石榴

final Iterable<String> fields = Splitter.on(",")
  .trimResults()
  .omitEmptyStrings()
  .split(data);

final String trimmedData = Joiner.on(",").join(fields);

有了这个,您甚至可以根据Iterables.filter需要验证输入字段。

于 2012-06-15T12:11:20.923 回答