ListSplit(inList, numGet [, inDelimiter] [, outDelimiter])
Last updated March 11, 2010
Version: 3 | Requires: ColdFusion 5 | Library: StrLib
Description:
A split function for lists, splitting the original list into lists of n array elements. Returns an array of the list segments.
Return Values:
Returns an array of lists.
Example:
<cfset invoicesSplit = listsplit(inList="#form.invoices#", numGet="#numberformat(listLen(form.invoices)/2)#", inDelimiter=",", outDelimiter=" ")>
<cfdump var="#invoicesSplit#">
Parameters:
| Name | Description | Required |
|---|---|---|
| inList | The list to split. | Yes |
| numGet | Number of items per array element. | Yes |
| inDelimiter | List delimiter. Defaults to a comma. | No |
| outDelimiter | Output list delimiter, defaults to comma | No |
Full UDF Source:
<!---
A split function for lists, splitting the original list into lists of n array elements.
Rewritten by Raymond Camden
Output delimiter mod by Jules Gravinese (webveteran.com), December 2009
@param inList The list to split. (Required)
@param numGet Number of items per array element. (Required)
@param inDelimiter List delimiter. Defaults to a comma. (Optional)
@param outDelimiter Output list delimiter, defaults to comma (Optional)
@return Returns an array of lists.
@author Ryan Thompson-Jewell (ryan@thompson-jewell.com)
@version 3, March 11, 2010
--->
<cffunction name="listSplit" output="no" returnType="array" description="
* A split function for lists, splitting the original list into lists of n array elements.
* Rewritten by Raymond Camden
* Output delimiter mod by Jules Gravinese (webveteran.com), December 2009
*
* @author Ryan Thompson-Jewell (ryan@thompson-jewell.com)
* @version 2, September 24, 2002
">
<cfargument name="inList" default="" hint="The list to split">
<cfargument name="numGet" default="1" hint="Number of items per array alement">
<cfargument name="inDelimiter" default="," hint="Input delimiter">
<cfargument name="outDelimiter" default="," hint="Output delimiter">
<cfscript>
var aResult=arraynew(1);
if(numGet gte listLen(inList,inDelimiter)) {
aResult[1] = inList;
return aResult;
}
aResult[1] = "";
while(listLen(inList,inDelimiter)) {
aResult[arrayLen(aResult)] = listAppend(aResult[arrayLen(aResult)],listFirst(inList,inDelimiter), outDelimiter);
inList = listRest(inList,inDelimiter);
if(listLen(aResult[arrayLen(aresult)],outDelimiter) is numGet and len(inList)) aResult[arrayLen(aResult)+1] = "";
}
return aResult;
</cfscript>
</cffunction>
Search CFLib.org
Latest Additions
Tayo Akinmade added
arrayTrim
10 day(s) ago
Will Belden added
longTime
15 day(s) ago
James Sleeman added
quickSort
25 day(s) ago
Ben Forta added
GetHostAddress
28 day(s) ago
Top Rated
EksporSQLData
Rated 5.0, 16 time(s)
backupDatabase
Rated 5.0, 13 time(s)
indentXml
Rated 5.0, 10 time(s)
generateSsccAsn
Rated 5.0, 4 time(s)