Rob*_* Li 4 java string java-8 java-stream
我有一串像
"abcd".chars()
Run Code Online (Sandbox Code Playgroud)
我正在使用peek打印出这样的流
"abcd".chars().peek(e->System.out.print(e + ":"))
Run Code Online (Sandbox Code Playgroud)
唯一的问题是它打印出来
a:b:c:d:
Run Code Online (Sandbox Code Playgroud)
我想用换行符替换最后一个冒号,但不知道怎么做,有人可以帮忙吗?
使用joining收集器是另一种选择:
String result = Arrays.stream(string.split(""))
.collect(Collectors.joining(":"));
Run Code Online (Sandbox Code Playgroud)
要么:
String result = Pattern.compile("")
.splitAsStream(string)
.collect(Collectors.joining(":"));
Run Code Online (Sandbox Code Playgroud)
如果你真的想要一个新的行,那么使用joining收集器的这个重载
Collectors.joining(":","","\n")
Run Code Online (Sandbox Code Playgroud)