typescript apply regex to split on uppercase and uppercase 1st letter of each word code example
Example 1: javascript uppercase first letter of each word
const str = 'captain picard';
function capitalize(str) {
return str.charAt(0).toUpperCase() + str.slice(1);
}
const caps = str.split(' ').map(capitalize).join(' ');
caps;
Example 2: javascript capitalize first letter of each word
function toTitleCase(str, includeAllCaps, includeMinorWords) {
includeAllCaps = (includeAllCaps ? (includeAllCaps == true ? true : false) : false);
includeMinorWords = (includeMinorWords ? (includeMinorWords == true ? true : false) : false);
var i, j, lowers;
str = str.replace(/([^\W_]+[^\s-]*) */g, function (txt) {
if (!/[a-z]/.test(txt) && /[A-Z]/.test(txt) && !includeAllCaps) {
return txt;
} else {
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
}
});
if (includeMinorWords) {
return str;
} else {
lowers = ['A', 'An', 'The', 'And', 'But', 'Or', 'For', 'Nor', 'As', 'At',
'By', 'For', 'From', 'In', 'Into', 'Near', 'Of', 'On', 'Onto', 'To', 'With'
];
for (i = 0, j = lowers.length; i < j; i++)
str = str.replace(new RegExp('\\s' + lowers[i] + '\\s', 'g'),
function (txt) {
return txt.toLowerCase();
});
return str;
}
}
toTitleCase("FOO bar");
toTitleCase("FOO bar", true);
toTitleCase("a foo bar");
toTitleCase("a foo in bar");
toTitleCase("foo of bar");
toTitleCase("foo of bar", false, true);