【发布时间】:2016-07-26 18:58:55
【问题描述】:
我有一个字符串列表,例如一周中的日子。我想用逗号加入他们,在最后一个元素之前加上“and”。例如:“我在周二、周三、周四和周五有空”。
优雅的东西
Joiner.on(", ").join(days)
不起作用。有没有一种优雅的方法可以使用 Guava 或类似的库?
谢谢
【问题讨论】:
-
从上面的语句中获取结果,在最后一个分隔符上进行拆分并附加任何你想要的。我认为没有任何预定义的方法可用于您正在寻找的东西。
-
这是一个很好的解决方案,但如果我不只使用日期,则可能不正确。如果我把它变成一个通用函数并且连接的元素有分隔符,我就有麻烦了......
-
如果你想要通用函数,那么不要在你的连接条件中附加最后一个元素(将该元素从你传递给加入的列表中取出)并编写你自己的方法来附加最后一个,这将足以处理任何情况。您可以通过创建一个具有分隔第一组元素和第二组元素的索引的单个方法以及用户定义的连接“文本”来使其更通用。使用两个连接并附加两个连接的结果。