Код Middle Реализация с нуля обновлено
camelCase в snake_case
Условие
Преврати camelCase в snake_case. Аббревиатуры подряд идущих заглавных считаются одним словом: 'parseHTMLString' → 'parse_html_string'.
Примеры
camelToSnake("backgroundColor") // "background_color"
camelToSnake("parseHTMLString") // "parse_html_string"
camelToSnake("abc") // "abc"
Как подойти
Наивная замена каждой заглавной ломается на аббревиатурах - это и есть проверяемое место. Две подстановки закрывают оба вида границ: после строчной или цифры перед заглавной, и внутри серии заглавных перед началом нового слова. Обратное преобразование - одна замена /_([a-z])/g.
Подсказки: 2
- Две регулярки: граница «строчная → заглавная» и граница «конец аббревиатуры → новое слово».
- Одной регулярки на заглавные мало: HTMLString развалится на h_t_m_l_string.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.