Solutions for Letter Capitalize
View the challenge

Official solution

This challenge requires you to capitalize the first letter of each word. To do this, we'll create an array of words, then loop through each word and capitalize the first letter, and then combine these words back into one string. Below is some simple code to accomplish this:

``````function LetterCapitalize(str) {

// split the string into an array
var words = str.split(" ");

// we split the word into two parts and then combine the parts
// the first part is the first letter which we capitalize and the
// second part is the rest of the string
for (var i = 0; i < words.length; i++) {
words[i] = words[i].substring(0,1).toUpperCase() + words[i].substring(1);
}

// return the array of words joined into a string
return words.join(" ");

}

LetterCapitalize("hello world from coderbyte");
``````
``````def LetterCapitalize(str):

# split the string into a list
words = str.split(" ")

# we split the word into two parts and then combine the parts
# the first part is the first letter which we capitalize and the
# second part is the rest of the string
for i in range(0, len(words)):
words[i] = words[i][0].upper() + words[i][1:]

# return the list of words joined into a string
return " ".join(words)

print LetterCapitalize("hello world from coderbyte")
``````
``````def LetterCapitalize(str)

# split the string into an array
words = str.split(" ")

# we split the word into two parts and then combine the parts
# the first part is the first letter which we capitalize and the
# second part is the rest of the string
(0..words.count - 1).each do |i|
words[i] = words[i][0, 1].upcase + words[i][1..-1]
end

# return the array of words joined into a string
return words.join(" ")

end

puts LetterCapitalize(STDIN.gets)
``````

There is also another way to solve this challenge by using regular expressions and matching each word in the string and changing the first letter.

``````function LetterCapitalize(str) {

// our regex [a-z] matches every alphabetic character in the string
// but the \b before it specifies a word boundary, in other words, nothing can
// come before those letters therefore selecting every word in the string
return str.replace(/\b[a-z]/gi, function(char) {
return char.toUpperCase();
});

}

LetterCapitalize("hello world from coderbyte");
``````
``````def LetterCapitalize(str):

# in python there is a function called title which is
# easier than using a regex pattern
return str.title()

print LetterCapitalize("hello world from coderbyte")
``````
``````def LetterCapitalize(str):

# use regex to match words and then capitalize each one
return str.gsub(/\w+/) { |w| w.capitalize }

print LetterCapitalize("hello world from coderbyte")
``````

Top Rated User Solution

``loading...``
``loading...``
``loading...``
``loading...``
``loading...``
``loading...``
``loading...``
``loading...``
``loading...``
``loading...``
Top User Solutions