Java 8流以拆分和收集令牌

问题描述 投票:1回答:1

我有这样的输入

abc|label1 cde|label2 xyz|label1 mno|label3 pqr|label2

而且我想创建一个像这样的字符串

"abc cde xyz mno pqr"

这是我走了多远

 Arrays.stream(text.split(" "))
       .map(i -> i.split("\\|"))
       .collect(Collectors.joining(" "));
java java-8 stream
1个回答
2
投票

您已经接近,但是您忘了仅获取内部String返回的split数组的第一个元素:

Arrays.stream(text.split(" "))
      .map(i -> i.split("\\|")[0])
      .collect(Collectors.joining(" "));

这将产生所需的String

abc cde xyz mno pqr
© www.soinside.com 2019 - 2024. All rights reserved.