Home > other >  Java Filter string values separated by comma
Java Filter string values separated by comma

Time:09-27

Below is the string of values separated by commas. Need to filter each values and append them with specific values.

String values - Hello, MyName, Is, XYZ

Above is the string that i am sending through an API

What i want is - How to add (_true) this string value to each element on above String Values. That also to few String values that i am checking with some specific condition

So that it should be like below in that API call which is sent to FrontEnd.

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

CodePudding user response:

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()));
}

CodePudding user response:

You can try this

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
    }
}
  • Related