Это то, что я сделал до сих пор. Я пишу с заглавной буквы первый алфавит из всех слов, кроме «by», «and», «of», «it», «the», «at» et c., (Список можно продолжать).
Ожидаемый результат: Dance by Cow
Вывод, который я получил, был: Dance by Cow
Но теперь я хочу использовать для этого регулярное выражение вместо Set. (уменьшает сложность пространства).
Также я хотел знать, как разбить сценарий, где в массиве слов есть '-' & '_'?
let titleCase = str => {
const exceptions = new Set(['by', 'and']); // handling the specific words
if (typeof str == 'number') {
str = JSON.stringify(str);
}
return str
.toLowerCase()
.split('-')
.map(s =>
exceptions.has(s) ? s : s.charAt(0).toUpperCase() + s.substring(1)
)
.join(' ');
};
toTitleCase('dance-by-cow');