没有replaceall输出:[3, 2, 1]
使用replaceall输出:3,2,1
有没有办法使用单一的replaceAll方法来做到这一点,比如
set.toString().replaceAll("\\[\\]\\s+","");
现在代码
Set<String> set = new HashSet<String>();
set.add("1");
set.add("2");
set.add("3");
System.out.println(set.toString().replaceAll("\\[", "").replaceAll("\\]", "").replaceAll("\\s+", ""));
最佳答案
使用 Guava's Joiner
怎么样? :
String joined = Joiner.on(",").join(set);
System.out.println(joined); // 1,2,3
或者,如果您无法使用任何第 3 方库,则可以使用以下 replaceAll
:
System.out.println(set.toString().replaceAll("[\\[\\]]|(?<=,)\\s+", "")); // 1,2,3
嗯,您不会总是得到相同的输出,因为 HashSet
不保留插入顺序。如果您需要,请使用 LinkedHashSet
。
关于java - 字符串替换所有多个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19196651/