javastringappendoutputstringbuffer

How to append String to StringBuffer variable in JAVA


My code is as below. i need to add single quotes for each word in string with single quotes after appending DD to it.

public class Main
{
    public static void main(String[] args) {
        String ChkboxIds = "'a1b2c3','321cba','123abc'";
        String checkBoxId = null;
        String checkId = null;
        StringBuilder checkIDS = new StringBuilder("'");
        for(int i=0;i<=ChkboxIds.split(ChkboxIds, ',').length;i++){
            checkBoxId = "DD"+ChkboxIds.split(",")[i].replace("'","")+","+checkBoxId;
            checkId = checkBoxId.substring(0, checkBoxId.length() - 5);
            System.out.println("---PRINT---"+checkId);
            for(int j=0;j<i;j++){
                checkIDS..append('\'').append(checkId.split(",")).append('\'').append(',');
                System.out.println("---PRINT123----"+checkIDS);
            }
        }
    }
}

I have tried using StringBuffer too. please point your answers here. The output i get is some junk data while i need the words with dd attached at the start.

Expected output:'DDa1b2c3','DD321cba','DD123abc'


Solution

  • Problem


    Fix

    You can do much more simpler than that

    String chkboxIds = "'a1b2c3','321cba','123abc'";
    
    String[] splitted = chkboxIds.split(",");
    String checkBoxId;
    
    for (int i = 0; i < splitted.length; i++) {
        checkBoxId = "DD" + splitted[i].replace("'", "");
        splitted[i] = "'" + checkBoxId + "'";
    }
    
    String result = String.join(",", splitted);
    System.out.println(result);
    // 'DDa1b2c3','DD321cba','DD123abc'
    

    Regex power

    String chkboxIds = "'a1b2c3','321cba','123abc'";
    String result = chkboxIds.replaceAll("'(\\w+)'", "'DD$1'");