FullLeft(str, count)
Last updated April 16, 2002
Version: 2 | Requires: ColdFusion 5 | Library: StrLib
Description:
An enhanced version of left() that doesn't cut words off in the middle; instead, it searches backward until it finds a full word.
Return Values:
Returns a string.
Example:
<cfoutput>
Full String: #text#<BR>
FullLeft(text, 25): #fullLeft(text, 25)#<BR>
FullLeft(text, 34): #fullLeft(text, 34)#<BR>
</cfoutput>
Parameters:
| Name | Description | Required |
|---|---|---|
| str | String to be checked. | Yes |
| count | Number of characters from the left to return. | Yes |
Full UDF Source:
<cfscript>
/**
* An enhanced version of left() that doesn't cut words off in the middle.
* Minor edits by Rob Brooks-Bilson (rbils@amkor.com) and Raymond Camden (rbils@amkor.comray@camdenfamily.com)
*
* Updates for version 2 include fixes where count was very short, and when count+1 was a space. Done by RCamden.
*
* @param str String to be checked.
* @param count Number of characters from the left to return.
* @return Returns a string.
* @author Marc Esher (rbils@amkor.comray@camdenfamily.comjonnycattt@aol.com)
* @version 2, April 16, 2002
*/
function fullLeft(str, count) {
if (not refind("[[:space:]]", str) or (count gte len(str)))
return Left(str, count);
else if(reFind("[[:space:]]",mid(str,count+1,1))) {
return left(str,count);
} else {
if(count-refind("[[:space:]]", reverse(mid(str,1,count)))) return Left(str, (count-refind("[[:space:]]", reverse(mid(str,1,count)))));
else return(left(str,1));
}
}
</cfscript>
Search CFLib.org
Latest Additions
Ryan Thompson-Jewell added
ListSplit
1 day(s) ago
Nathan Dintenfass added
RowsToColumns
1 day(s) ago
Barney Boisvert added
indentXml
2 day(s) ago
Barney Boisvert added
REReplaceCallbac...
2 day(s) ago
Top Rated
FolderSize
Rated 5.0, 7 time(s)
UniqueValueList
Rated 5.0, 5 time(s)
QuickSort
Rated 5.0, 3 time(s)
ListDeleteDuplic...
Rated 5.0, 3 time(s)