listAppendAndReplace(list1, list2, length[, delimiters])
Last updated August 10, 2007
Version: 1 | Requires: CF5 | Library: StrLib
	Description: 
	Appends one list to another, with a maximum list length specified, and replaces any overlapping values.
	Return Values: 
	Returns a string.
Example:
#ListAppendAndReplace("192.168.0", "15.20", 4, ".")# would return 192.168.15.20
Parameters:
| Name | Description | Required | 
|---|---|---|
| list1 | The original list. | Yes | 
| list2 | The list to append. | Yes | 
| length | The max list length allowed for the new list. | Yes | 
| delimiters | List delimiters. Defaults to a comma. | No | 
Full UDF Source:
/**
 * Appends one list to another, with a maximum list length specified, and replaces any overlapping values.
 * 
 * @param list1      The original list. (Required)
 * @param list2      The list to append. (Required)
 * @param length      The max list length allowed for the new list. (Required)
 * @param delimiters      List delimiters. Defaults to a comma. (Optional)
 * @return Returns a string. 
 * @author Kit Brandner (kit.brandner@serebra.com) 
 * @version 1, August 10, 2007 
 */
function listAppendAndReplace( list1, list2, length) {
    var delimiters = ",";
    var pos = length;
    var returnList = list1;
    if (arguments.length ge 4 and len(trim(arguments[4])) gt 0) delimiters = trim(arguments[4]);
    for ( ; pos ge (length - listLen(list2, delimiters)) ; pos = pos - 1) {
        if (listLen(list1, delimiters) gt pos)    returnList = listDeleteAt(returnList, pos + 1, delimiters);
    }
    if (left(list2, 1) eq delimiters) list2 = right(list2, len(list2) - 1);
    returnList = trim(returnList) & iif(right(returnList, 1) neq delimiters and (len(trim(list2)) gt 0 and len(trim(returnList)) gt 0), de(delimiters), de("")) & trim(list2);
    return returnList;
}
Search CFLib.org
Latest Additions
									
									Raymond Camden added 
									QueryDeleteRows 
									November 04, 2017
								
								
									
									Leigh added 
									nullPad 
									May 11, 2016
								
								
									
									Raymond Camden added 
									stripHTML 
									May 10, 2016
								
								
									
									Kevin Cotton added 
									date2ExcelDate 
									May 05, 2016
								
								
									
									Raymond Camden added 
									CapFirst 
									April 25, 2016