SkillAgentSearch skills...

StringUtils.cfc

A collection of String utility functions found in the Java Lib: org.apache.commons.lang.StringUtils - this is being reproduced as a "code kata" and means of relaxation and self-therapy.

Install / Use

/learn @bennadel/StringUtils.cfc
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

StringUtils.cfc

by Ben Nadel (on [Google+][googleplus])

A while back, I happened to come across this [StringUtils Java Library][javalib]. A number of the methods in the library are native to ColdFusion; however, many of them are not. I thought it would be a fun "code kata" to try an recreate this String Utils library as a ColdFusion functions. To be honest, I've been working a lot lately and I thought this would be a fun little mental vacation; a little bit of "therapy," if you will.

Here is a list of the functions in the String Utils library (that I will be reproducing, or at least trying to reproduce). Since ColdFusion doesn't support like-named functions with different signatures, the multi-signature functions will have to be collapsed into one function with internal routing logic based on the arguments.

NOTE: In some cases, I'll have to change the function names in the ColdFusion version of the library since they conflict with built-in functions or operator names (ex, "contains" will have to become something like "containsSubstring" ).

  • abbreviate( String str, int maxWidth ) :: String
  • abbreviate( String str, int offset, int maxWidth ) :: String
  • abbreviateMiddle( String str, String middle, int length ) :: String
  • capitalize( String str ) :: String
  • center( String str, int size ) :: String
  • center( String str, int size, char padChar ) :: String
  • center( String str, int size, String padStr ) :: String
  • chomp( String str ) :: String
  • chomp( String str, String separator ) :: String
  • chop( String str ) :: String
  • contains( String str, char searchChar ) :: boolean [RENAMED]
  • contains( String str, String searchStr ) :: boolean [RENAMED]
  • containsAny( String str, char[] searchChars ) :: boolean [RENAMED]
  • containsAny( String str, String searchChars ) :: boolean [RENAMED]
  • containsIgnoreCase( String str, String searchStr ) :: boolean
  • containsNone( String str, char[] searchChars ) :: boolean
  • containsNone( String str, String invalidChars ) :: boolean
  • containsOnly( String str, char[] valid ) :: boolean
  • containsOnly( String str, String validChars ) :: boolean
  • countMatches( String str, String sub ) :: int
  • defaultIfBlank( String str, String defaultStr ) :: String
  • defaultIfEmpty( String str, String defaultStr ) :: String
  • defaultString( String str ) :: String
  • defaultString( String str, String defaultStr ) :: String
  • deleteWhitespace( String str ) :: String
  • difference( String str1, String str2 ) :: String
  • endsWith( String str, String suffix ) :: boolean
  • endsWithAny( String string, String[] searchStrings ) :: boolean
  • endsWithIgnoreCase( String str, String suffix ) :: boolean
  • equals( String str1, String str2 ) :: boolean
  • equalsIgnoreCase( String str1, String str2 ) :: boolean
  • getCommonPrefix( String[] strs ) :: String
  • getLevenshteinDistance( String s, String t ) :: int
  • indexOf( String str, char searchChar ) :: int
  • indexOf( String str, char searchChar, int startPos ) :: int
  • indexOf( String str, String searchStr ) :: int
  • indexOf( String str, String searchStr, int startPos ) :: int
  • indexOfAny( String str, char[] searchChars ) :: int
  • indexOfAny( String str, String searchChars ) :: int
  • indexOfAny( String str, String[] searchStrs ) :: int
  • indexOfAnyBut( String str, char[] searchChars ) :: int
  • indexOfAnyBut( String str, String searchChars ) :: int
  • indexOfDifference( String[] strs ) :: int
  • indexOfDifference( String str1, String str2 ) :: int
  • indexOfIgnoreCase( String str, String searchStr ) :: int
  • indexOfIgnoreCase( String str, String searchStr, int startPos ) :: int
  • isAllLowerCase( String str ) :: boolean
  • isAllUpperCase( String str ) :: boolean
  • isAlpha( String str ) :: boolean
  • isAlphanumeric( String str ) :: boolean
  • isAlphanumericSpace( String str ) :: boolean
  • isAlphaSpace( String str ) :: boolean
  • isAsciiPrintable( String str ) :: boolean
  • isBlank( String str ) :: boolean
  • isEmpty( String str ) :: boolean
  • isNotBlank( String str ) :: boolean
  • isNotEmpty( String str ) :: boolean
  • isNumeric( String str ) :: boolean
  • isNumericSpace( String str ) :: boolean
  • isWhitespace( String str ) :: boolean
  • join( Collection collection, char separator ) :: String
  • join( Collection collection, String separator ) :: String
  • join( Iterator iterator, char separator ) :: String
  • join( Iterator iterator, String separator ) :: String
  • join( Object[] array ) :: String
  • join( Object[] array, char separator ) :: String
  • join( Object[] array, char separator, int startIndex, int endIndex ) :: String
  • join( Object[] array, String separator ) :: String
  • join( Object[] array, String separator, int startIndex, int endIndex ) :: String
  • lastIndexOf( String str, char searchChar ) :: int
  • lastIndexOf( String str, char searchChar, int startPos ) :: int
  • lastIndexOf( String str, String searchStr ) :: int
  • lastIndexOf( String str, String searchStr, int startPos ) :: int
  • lastIndexOfAny( String str, String[] searchStrs ) :: int
  • lastIndexOfIgnoreCase( String str, String searchStr ) :: int
  • lastIndexOfIgnoreCase( String str, String searchStr, int startPos ) :: int
  • lastOrdinalIndexOf( String str, String searchStr, int ordinal ) :: int
  • left( String str, int len ) :: String
  • leftPad( String str, int size ) :: String
  • leftPad( String str, int size, char padChar ) :: String
  • leftPad( String str, int size, String padStr ) :: String
  • length( String str ) :: int
  • lowerCase( String str ) :: String
  • lowerCase( String str, Locale locale ) :: String
  • mid( String str, int pos, int len ) :: String
  • normalizeSpace( String str ) :: String
  • ordinalIndexOf( String str, String searchStr, int ordinal ) :: int
  • overlay( String str, String overlay, int start, int end ) :: String
  • remove( String str, char remove ) :: String
  • remove( String str, String remove ) :: String
  • removeEnd( String str, String remove ) :: String
  • removeEndIgnoreCase( String str, String remove ) :: String
  • removeStart( String str, String remove ) :: String
  • removeStartIgnoreCase( String str, String remove ) :: String
  • repeat( String str, int repeat ) :: String
  • repeat( String str, String separator, int repeat ) :: String
  • replace( String text, String searchString, String replacement ) :: String
  • replace( String text, String searchString, String replacement, int max ) :: String
  • replaceChars( String str, char searchChar, char replaceChar ) :: String
  • replaceChars( String str, String searchChars, String replaceChars ) :: String
  • replaceEach( String text, String[] searchList, String[] replacementList ) :: String
  • replaceEachRepeatedly( String text, String[] searchList, String[] replacementList ) :: String
  • replaceOnce( String text, String searchString, String replacement ) :: String
  • reverse( String str ) :: String
  • reverseDelimited( String str, char separatorChar ) :: String
  • right( String str, int len ) :: String
  • rightPad( String str, int size ) :: String
  • rightPad( String str, int size, char padChar ) :: String
  • rightPad( String str, int size, String padStr ) :: String
  • split( String str ) :: String[]
  • split( String str, char separatorChar ) :: String[]
  • split( String str, String separatorChars ) :: String[]
  • split( String str, String separatorChars, int max ) :: String[]
  • splitByCharacterType( String str ) :: String[]
  • splitByCharacterTypeCamelCase( String str ) :: String[]
  • splitByWholeSeparator( String str, String separator ) :: String[]
  • splitByWholeSeparator( String str, String separator, int max ) :: String[]
  • splitByWholeSeparatorPreserveAllTokens( String str, String separator ) :: String[]
  • splitByWholeSeparatorPreserveAllTokens( String str, String separator, int max ) :: String[]
  • splitPreserveAllTokens( String str ) :: String[]
  • splitPreserveAllTokens( String str, char separatorChar ) :: String[]
  • splitPreserveAllTokens( String str, String separatorChars ) :: String[]
  • splitPreserveAllTokens( String str, String separatorChars, int max ) :: String[]
  • startsWith( String str, String prefix ) :: boolean
  • startsWithAny( String string, String[] searchStrings ) :: boolean
  • startsWithIgnoreCase( String str, String prefix ) :: boolean
  • strip( String str ) :: String
  • strip( String str, String stripChars ) :: String
  • stripAll( String[] strs ) :: String[]
  • stripAll( String[] strs, String stripChars ) :: String[]
  • stripEnd( String str, String stripChars ) :: String
  • stripStart( String str, String stripChars ) :: String
  • stripToEmpty( String str ) :: String
  • stripToNull( String str ) :: String
  • substring( String str, int start ) :: String
  • substring( String str, int start, int end ) :: String
  • substringAfter( String str, String separator ) :: String
  • substringAfterLast( String str, String separator ) :: String
  • substringBefore( String str, String separator ) :: String
  • substringBeforeLast( String str, String separator ) :: String
  • substringBetween( String str, String tag ) :: String
  • substringBetween( String str, String open, String close ) :: String
  • substringsBetween( String str, String open, String close ) :: String[]
  • swapCase( String str ) :: String
  • trim( String str ) :: String
  • trimToEmpty( String str ) :: String
  • trimToNull( String str ) :: String
  • uncapitalize( String str ) :: String
  • upperCase( String str ) :: String
  • upperCase( String str, Locale locale ) :: String

Groove sauce!

Related Skills

View on GitHub
GitHub Stars8
CategoryDevelopment
Updated1mo ago
Forks3

Languages

ColdFusion

Security Score

70/100

Audited on Feb 4, 2026

No findings