Как написать регулярку на преобразование из CamelCase в kebab-case?

Собственно, есть строка такого вида: TestCase, а мне нужно получить из нее строку вида test-case.
пока придумалось только как первый символ изменить: str.replace(/^\w/, str[0].toLowerCase());
А как делать поиск и замену по всей строке?
  • Вопрос задан
  • 973 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const kebab = str => str.replace(/\b([A-Z][a-z]*)+\b/g, n => n.replace(/([A-Z])/g, '-$1').replace(/^-/, '').toLowerCase());

console.log(kebab('KebabCase noKebabCase No_Kebab_Case And FuckDonaldTrump!!')); // "kebab-case noKebabCase No_Kebab_Case and fuck-donald-trump!!"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы