I have a string \"MySites\"
. I want to place a space between My
and Sites
.
How can I do this in jQuery or JavaScript?
This should insert a space between each capital letter that was not preceded by a capital letter.
var myString = "MySites"
var newString = "";
var wasUpper = false;
for (var i = 0; i < myString.length; i++)
{
if (!wasUpper && myString[i] == myString.toUpperCase()[i])
{
newString = newString + " ";
wasUpper = true;
}
else
{
wasUpper = false;
}
newString = newString + myString[i];
}
newString
will have the value you want. Also, if you want to shorten your code using regex, you can use the following code from Javascript camelCase to Regular Form
"thisStringIsGood"
// insert a space before all caps
.replace(/([A-Z])/g, ' $1')
// uppercase the first character
.replace(/^./, function(str){ return str.toUpperCase(); })