Remove Last Comma or Other Characters from the End of a String

28 Mar

Apex

Removing the last comma is often needed when dynamically building a SOQL Select string. Salesforce quietly released a bunch of new string methods in Winter ’13 that I have started to really appreciate. One of the new methods is removeEnd() and removeEndIngoreCase(). These are great for removing that last comma.

String soql = 'Select ';
for (MySubClass MSC : MySubClassList) {
    soql += MSC.FieldName + ',';
}
soql = soql.removeEnd(',');
soql += ' From YourObject';

If your data structure is a simple list of strings, you don’t even need the removeEnd(). The String.join() will form the string without an ending comma.

String soql = 'Select ';
list FieldList = new list {'Id', 'Name', 'Field1__c', 'Field2__c'};
soql += String.join(FieldList, ',');
soql += ' From YourObject';

Javascript

Here is how to remove the last comma of a string variable in Javascript.

MyStrVar = MyStrVar.replace(/,\s*$/, "");