This should do what you want.
<cfif ListLen(OldString) GT 1> <cfset NewString = ListDeleteAt(OldString,ListLen(OldString))> </cfif>
If you need more flexibility in how many elements chop off the end, ListDeleteRight from CFLib.org would be helpful.
<cfscript> function ListDeleteRight(list, numElements) { var i=0; var delimiter=","; if (Arraylen(arguments) gt 2) { delimiter=arguments[3]; } if (numElements gt ListLen(list, delimiter)) return ""; for (i=1; i lte numElements; i=i+1) { list=listDeleteAt(list, listLen(list, delimiter), delimiter); } return list; } </cfscript>
Using:
ListDeleteRight(list, numElements [, delimiter])
Example:
<cfset NewString = ListDeleteRight(OldString,1)>
source share