Snake Case to Camel Case

Easy Real-World Scenarios
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;
}