I have string like this.


I want out out put like this.


Is there any way to do this and store it in a string.

Thanks in Advance.

3 Answers 3


Here is a working code sample for your problem. If you want you can remove comma from last using removeEnd(',')

string test =',mon,,tue,wed,,,thu,';
List<string> testList = test.split(',');
string newString = '';
for(String str : testList)
    if(str.getChars().size() >0)
        newString =newString+str+',';

In the new string you will get


you can remove last comma from removeEnd method(If you don't want it).


This regex will match the commas at the end of your string and you can use it to replace them with empty string ""

This regex will look for 2 or more commas somewhere in your string except at the beginning and the end. You can use this regex to replace multiple commas with a single one ","

Let me know if this helped.


While the accepted answer is valid, I think it is much cleaner to use String.isNotBlank and String.join:

public static String cleanCommaJoin(String input)
    List<String> notBlankEntries = new List<String>();
    for (String entry : input.split(','))
        if (String.isNotBlank(entry)) notBlankEntries.add(entry.trim());
    return String.join(notBlankEntries, ',');

String.join is a simple solution to the common trailing delimiter anti-pattern. Because of using String.isNotBlank, it also still works if you had, for instance:

String input =' , mon, , tue, wed, , , thu, ';
String output = cleanCommaJoin(input))
system.assertEquals('mon,tue,wed,thu', output);
  • 1+ for awesome answer. Thank you so much Adrian.
    – MIX DML
    Oct 15, 2015 at 17:31

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .