我有一个字符串,我想用逗号分割并检查每个单词中的特定单词,然后修剪然后加入它以创建新字符串
输入:
"UC_Admin, Internal, UC_Reg, US_Admin"
期望输出:
"UC_Admin,UC_Reg"
我试过的是:
Arrays.stream("UC_Admin,Internal,UC_Reg,US_Admin".split(","))
.filter(role -> role.contains("UC").join(",");
最佳答案
您必须使用 Collectors.joining(",")
这里。另请注意,对于修剪操作,您只能使用 map
运算符(operator)。
String result = Arrays.stream("UC_Admin,Internal,UC_Reg,US_Admin".split(","))
.filter(role -> role.contains("UC"))
.map(String::trim).collect(Collectors.joining(","));
下面给出了一个更好的方法。对于大型数据集,这应该优于以前的解决方案。但是,我没有进行任何基准测试来证明这一点。
private static final Pattern COMMA = Pattern.compile(",");
String result = COMMA.splitAsStream("UC_Admin,Internal,UC_Reg,US_Admin")
.filter(role -> role.contains("UC"))
.map(String::trim)
.collect(Collectors.joining(","));
关于java - 字符串拆分,过滤和加入单行 java 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58746605/