我有一个问题,我确信这个问题有一个相对简单的答案,但目前我的脑屁很大,似乎无法想到一个不优雅的解决方案涉及到无数的if语句。
基本上,我有一个网页,动态更新当前用户的字符串,风格化为
User1,User2,User3,User4
但是,当我从其他位置删除其中一个用户时,会从列表中删除它们,但我留下了以下内容
开始
,User2,User3,User4
中东
User1 ,, User3,User4
结束
User1,User2,User3,
如果有人知道删除这些不需要的逗号的相对简单的方法,那将非常有帮助,它一直困扰我几个小时。
非常感谢。
答案 0 :(得分:6)
您可以将,$
,^,
和, ,
与正则表达式匹配,并将其替换为空
答案 1 :(得分:1)
您可以尝试:
String s = "User1, , User2, User3, ,...;
s = s.replaceAll(", ,", ",");
答案 2 :(得分:1)
我会进行拆分,然后加入。
使用Guava:
final Iterable<String> fields = Splitter.on(",")
.trimResults()
.omitEmptyStrings()
.split(data);
final String trimmedData = Joiner.on(",").join(fields);
如果需要,您甚至可以使用Iterables.filter
验证输入字段。
答案 3 :(得分:1)
",User1, , User3, User4,".replaceAll("[\\s],|,$|^,", "");
- &GT;
User1, User3, User4