Answer:
I am writing a Python program. Let me know if you want the program in some other programming language.
def toCamelCase(str):
string = str.replace("-", " ").replace("_", " ")
string = string.split()
if len(str) == 0:
return str
return string[0] + ''.join(i.capitalize() for i in string[1:])
print(toCamelCase("the-stealth-warrior"))
Explanation:
I will explain the code line by line. First line is the definition of toCamelCase() method with str as an argument. str is basically a string of characters that is to be converted to camel casing in this method.
string = str.replace("-", " ").replace("_", " ")
. This statement means the underscore or dash in the entire are removed. After removing the dash and underscore in the string (str), the rest of the string is stored in string variable.
Next the string = string.split() uses split() method that splits or breaks the rest of the string in string variable to a list of all words in this variable.
if len(str) == 0 means if the length of the input string is 0 then return str as it is.
If the length of the str string is not 0 then return string[0] + ''.join(i.capitalize() for i in string[1:]) will execute. Lets take an example of a str to show the working of this statement.
Lets say we have str = "the-stealth-warrior". Now after removal of dash in by replace() method the value stored in string variable becomes the stealth warrior. Now the split() method splits this string into list of three words the, stealth, warrior.
Next return string[0] + ''.join(i.capitalize() for i in string[1:]) has string[0] which is the word. Here join() method is used to join all the items or words in the string together.
Now i variable moves through the string from index 1 and onward and keeps capitalizing the first character of the list of every word present in string variable from that index position to the end. capitalize() method is used for this purpose.
So this means first each first character of each word in the string starting from index position 1 to the end of the string is capitalized and then all the items/words in string are joined by join() method. This means the S of stealth and W of warrior are capitalized and joined as StealthWarrior and added to string[0] = the which returns theStealthWarrior in the output.