Я мог бы представить, что это многокомпонентная ситуация с регулярным выражением, но как бы вы разбили строку верблюжьего регистра на заглавные буквы, превратив их в строчные буквы, а затем добавление дефиса между каждой новой строкой?
Например:
thisString
станет:
this-s tring