【问题标题】:Java Filter string values separated by commaJava过滤字符串值用逗号分隔
【发布时间】:2021-11-19 06:51:00
【问题描述】:

下面是用逗号分隔的字符串。需要过滤每个值并附加特定值。

字符串值 - Hello, MyName, Is, XYZ

上面是我通过 API 发送的字符串

我想要的是 - 如何将 (_true) 这个字符串值添加到上面 字符串值 上的每个元素。这也是我在某些特定条件下检查的几个字符串值

所以在发送到 FrontEnd 的 API 调用中应该如下所示。

Hello(_true), MyName, Is, XYZ(_true)

【问题讨论】:

  • 到目前为止你尝试了什么?
  • > 如何将 (_true) 这个字符串值添加到上述字符串值上的每个元素但是您的示例与此相矛盾?
  • 为什么只有 HelloXYZ 获得附加值的背后逻辑是什么?
  • 你想要在 Java 中还是在 Javascript 中?

标签: javascript java spring spring-boot


【解决方案1】:

你可以试试这个

import java.util.*;
import java.util.stream.Collectors;

public class Main
{
    public static void main(String[] args) {
        String apiOutput = "Hello, MyName, Is, XYZ";
        
        List<String> s = List.of(apiOutput.split(", ")).stream()
            .map(Main::stringController)
            .collect(Collectors.toList());
        String result = String.join(", ", s);
        
        System.out.println(result);
        
    }
    
    private static String stringController(String in){
        if(hasMatchCondition(in)){
            return in + "(_true)";
        }
        return in;
    }
    
    private static boolean hasMatchedCondition(String in){
        //place your logic here
        
        //[START] exemple
        if(in.length() == 5 || in.length() == 3)
            return true;
        return false;
        //[END] exemple
    }
}

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
【解决方案2】:
public static String StringAppenderWithLogic(String given, String del) {
    return String.join(del, Arrays.stream(given.split(del)).
            map(p -> {
                //put any logic specific to your requirement
                if (p.trim().startsWith("H") || p.trim().startsWith("X")) {
                    p = p + "(_true)";

                }
                return p;
            }).collect(Collectors.toList()));
}

【讨论】:

  • 非常感谢您的解决方案对我有用。最佳答案
  • 谢谢,Ravi,Gald 解决了您的问题,如果可能的话,请您也为我的回答投票
  • 当然@anurag saxena - 我是新手,我需要至少 15 名声望。如果您支持我的问题和 cmets,那将是可能的。我可能会获得至少 15 点声望。那么我将有资格投票赞成答案。但我仍然有资格接受它作为答案
  • 从我身边完成?
  • 我这边也完成了?
猜你喜欢
  • 2021-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-20
相关资源
最近更新 更多