Snake Case to Camel Case
Convert a snake_case identifier to camelCase — commonly needed when mapping API JSON fields to model properties.
Sample input
user_first_name
Sample output
userFirstName
Solution
s = "user_first_name"
parts = s.split("_")
result = parts[0] + "".join(p.capitalize() for p in parts[1:])
print(result)
const s = "user_first_name";
const result = s.replace(/_(\w)/g, (_, c) => c.toUpperCase());
console.log(result);
public class Main {
public static void main(String[] args) {
String s = "user_first_name";
String[] parts = s.split("_");
StringBuilder result = new StringBuilder(parts[0]);
for (int i = 1; i < parts.length; i++) {
result.append(Character.toUpperCase(parts[i].charAt(0))).append(parts[i].substring(1));
}
System.out.println(result.toString());
}
}
fun main() {
val s = "user_first_name"
val parts = s.split("_")
val result = parts[0] + parts.drop(1).joinToString("") {
it.replaceFirstChar { c -> c.uppercase() }
}
println(result)
}
let s = "user_first_name"
let parts = s.split(separator: "_")
var result = String(parts[0])
for part in parts.dropFirst() {
result += part.prefix(1).uppercased() + part.dropFirst()
}
print(result)
void main() {
final s = "user_first_name";
final parts = s.split('_');
var result = parts[0];
for (var i = 1; i < parts.length; i++) {
result += parts[i][0].toUpperCase() + parts[i].substring(1);
}
print(result);
}
#include <iostream>
#include <string>
#include <cctype>
using namespace std;
int main() {
string s = "user_first_name";
string result;
bool upper = false;
for (char c : s) {
if (c == '_') {
upper = true;
} else {
result += upper ? toupper(c) : c;
upper = false;
}
}
cout << result << endl;
return 0;
}
#include <stdio.h>
#include <ctype.h>
int main() {
char s[] = "user_first_name";
int upper = 0;
for (int i = 0; s[i]; i++) {
if (s[i] == '_') {
upper = 1;
} else {
putchar(upper ? toupper(s[i]) : s[i]);
upper = 0;
}
}
putchar('\n');
return 0;
}