⚙️ camelCase ⇄ snake_case
Создайте две функции toCamelCase() и toSnakeCase(), каждая из которых принимает одну строку и преобразует ее либо в CamelCase, либо в Snake_case
Подход к решению
- Можно решать с помощью регулярных выражений или посимвольного перебора
👉 camelCase ⇄ snake_case (edabit)
#junior #tasks
💡Решение
std::string toCamelCase(std::string str) {
bool capitalizeNext = false;
std::string camelCaseStr;
for (char c : str) {
if (c == '_') {
capitalizeNext = true;
}
else {
if (capitalizeNext) {
camelCaseStr += toupper(c);
capitalizeNext = false;
}
else {
camelCaseStr += c;
}
}
}
return camelCaseStr;
}
std::string toSnakeCase(std::string str) {
std::ostringstream snakeCaseStr;
for (char c : str) {
if (isupper(c)) {
snakeCaseStr << '_' << static_cast(tolower(c));
}
else {
snakeCaseStr << c;
}
}
return snakeCaseStr.str();
}
Post #354
1.86K

- 👍 6