Эта статья была первоначально опубликована на моем блог . Перейти к InswiredWebdev.com Для получения дополнительных статей и учебных пособий. Проверьте мой Курс JavaScript на Обучающиеся Чтобы узнать все от ES6 до ES2020.
В этой статье мы решим вместе Конвертировать строку в корпус верблюда Вызов из кодовых главений, вы можете найти его в этом ссылка Отказ Трудность этой проблемы легко.
Давайте прочитаем задачу вместе:
Заполните метод/функцию, чтобы он преобразует разграниченные слова Dash/подчеркивание в корпус верблюда. Первое слово в пределах вывода следует заглавить только в том случае, если исходное слово было капитализировано (известно как верхний корпус, также часто называемый случай Паскаля).
Примеры TOCAMELCASE («The-Stealth-Warrior»)//возвращает> “Theestealthwarrior”
ToCamelCase («The_Stealth_Warrior»)//возвращает “theestealthwarrior”
Самый простой способ решить эту проблему будет с регулятором, и нам даже не нужен усложняющий в этом случае:
Напишите Regexp.
/[-_]\крыло
Это все, что нам нужно.
- [-_] будет соответствовать всем подчеркиванию и тире
- \ W будет соответствовать любому символу сразу после тире или подчеркивания
- /Ig выполнит g ломальный случай Я Неситивный поиск.
Хитрость, которая поможет нам завершить проблему легче, это \ W
Что позволяет нам захватить письмо сразу после тире или подчеркивания, то есть мы можем легко сделать его прописными в одном.
Когда вы хотите играть с Regex, это отличная детская площадка, которая также объясняет, как они работают regexr.com Отказ
Теперь, когда у нас есть самая важная часть нашей функции, давайте попробуем построить функцию вокруг него.
function toCamelCase(str){ const regExp = /[-_]\w/ig; return str.replace(regExp,(match) => { console.log(match); }); } toCamelCase("the-stealth-warrior") // -s // -w
String.replace ()
Может принимать не только подстроку, но только регентэксP в качестве первого параметра и пройдет результат во втором.
Как вы можете видеть, наше Regex сопоставьте каждую черту и первый символ после.
Завершение функции
Теперь, что мы остались связаны с функцией, – это вернуть только заглавную букву без тире или подчеркивания.
function toCamelCase(str){ const regExp = /[-_]\w/ig; return str.replace(regExp,(match) => { return match[1].toUppercase() }); } toCamelCase("the-stealth-warrior")
Вот и все, последняя строка, которую мы добавили, вернется S вместо -s и Варенье вместо -w Отказ
Вот много других способов решения этой проблемы, дайте мне знать свой в комментарии.
Если вам понравился этот тип контента, пожалуйста, дайте мне знать в комментариях, и я создам больше из них.
Если вы хотите узнать все о JavaScript из ES6, полностью до ES2020, пожалуйста, проверьте мою книгу, доступную бесплатно на Гадость . Курс также на Воспитательный
Оригинал: “https://dev.to/albertomontalesi/javascript-challenge-6-convert-string-to-camel-case-302l”