1. Home
  2. Computing & Technology
  3. Delphi Programming

Challenge: Un-Camel-Case a String
Delphi Challenge: Create an Algorithm Un-Camel-Case a CamelCase String

By , About.com Guide

According to Delphi Naming Conventions local variables and method names should use camel casing.

Camel casing is a convention for capitalizing identifiers where the first letter in the identifier and the first letter of each subsequent concatenated word are capitalized. Examples inculde: MySuperWebSite, DelphiSoureCode, FirstYearSalary, etc.

The name, camel case, comes from the uppercase "bumps" in the middle of the compound word, suggestive of the humps of a camel.

Challenge: Un-Camel-Case a String

Your challenge is to code a custom Delphi function with the following signature:
function UnCamelCase(const camel : string) : string;
UnCamelCase takes one parameter: camel that is a string value. The function should return a string that has been "de-camel-cased" - where "words" are separated by a space character.

For example, if camel is "FirstYearSalary", the result "First Year Salary". If camel is "SavedFileName" the result is "Saved File Name".

Some special cases:

camel = "delphi" | result = "delphi"
camel = "ILoveDelphi" | result = "I Love Delphi"
camel = "ABOUTDELPHI" | result = "ABOUTDELPHI"

Both the speed of execution and code simplicity will be tested -I'm not sure now what "code simplicity" means :)

Accepted Entries

Here's the list of the accepted entries. 25 entries were accepted before the challenge was closed.

This challenge was a simple one, therefore I'm giving 5 points of fame and glory to all who participated :))

Some entries are faster some are slower, some use chars, some strings, some even use ASM...

Download all accepted entries + test application

Developers that submitted an accepted entry:

Korhan Ta kar - Turkey
Kelver Merlotti - Brazil
Miguel Gastelumendi - Brazil
Joachim Walz - Sweden
Mike Heydon - South Africa
Domi Kovacs - Germany
Boris Kumpar - Croatia
Diego Campos Rosa - Brazil
Jim Murtha - USA
Miodrag Martinic - Germany
ReneDohmen - The Netherlands
Attila Petrilla - Canada
Joachim Knoell -
Dagan Hoover -
Colin Banwell - France
Dave Sonsalla - USA
Alex Kazanskiy - USA
Joseph Styons - USA
Peter Hildebrand - Germany
Guy Savoie - USA
Pablo Gietz - Argentina
Henk van Loo Jnr - Republic of South-Africa
Daniel Fuchs - Germany
Claude Sutterlin - USA
Alex Francis - UK
Carlos Ruben Vega Barreras - Mexico
Anthony Kelsall - Australia

Challenge CLOSED!

Note: this challenge is closed. Several valid entries have been submitted before the challenge was closed.

Delphi programming challenges / exercises are designed to help you refactor your old code to make it more efficient; get new ideas on how to code faster / better Delphi code; help you solve a particular Delphi programming task and of course: to have fun while coding in Delphi :)

Participate in active Delphi programming challenges

More Delphi Programming Quick Tips
Readers Respond: Your Delphi Programming Challenges
Explore Delphi Programming
About.com Special Features

Holiday Central

What to eat, where to go, fun things to do and how to save money on the perfect gifts. More >

Family Tech Center

Stay connected and entertained with reviews on tips on the latest HDTVs, cellphones and more. More >

  1. Home
  2. Computing & Technology
  3. Delphi Programming
  4. Source Code Projects
  5. Challenges / Exercises
  6. Delphi Challenge: Create an Algorithm Un-Camel-Case a CamelCase String

©2009 About.com, a part of The New York Times Company.

All rights reserved.