Given a string in Snake Case, the task is to write a Java program to convert the given string from snake case to camel case and print the modified string.
Examples:
Input: str = “geeks_for_geeks” Output: GeeksForGeeks Input: str = “snake_case_to_camel_case” Output: SnakeCaseToCamelCase
Method 1: Using Traversal
- The idea is to first capitalize the first letter of the string.
- Then convert the string to string builder.
- Then traverse the string character by character from the first index to the last index and check if the character is underscored then delete the character and capitalize the next character of the underscore.
- Print the modified string.
Below is the implementation of the above approach:
// Java program for the above approach import java.io.*;
class GFG {
// Function to convert snake case
// to camel case
public static String
snakeToCamel(String str)
{
// Capitalize first letter of string
str = str.substring( 0 , 1 ).toUpperCase()
+ str.substring( 1 );
// Convert to StringBuilder
StringBuilder builder
= new StringBuilder(str);
// Traverse the string character by
// character and remove underscore
// and capitalize next letter
for ( int i = 0 ; i < builder.length(); i++) {
// Check char is underscore
if (builder.charAt(i) == '_' ) {
builder.deleteCharAt(i);
builder.replace(
i, i + 1 ,
String.valueOf(
Character.toUpperCase(
builder.charAt(i))));
}
}
// Return in String type
return builder.toString();
}
// Driver Code
public static void
main(String[] args)
{
// Given String
String str = "geeks_for_geeks" ;
// Function Call
str = snakeToCamel(str);
// Modified String
System.out.println(str);
}
} |
GeeksForGeeks
Time Complexity: O(n) where n is the length of the string
Auxiliary Space: O(1)
Method 2: Using String.replaceFirst() method
- The idea is to use String.replaceFirst() method to convert the given string from snake case to camel case.
- First, capitalize the first letter of the string.
- Run a loop till the string contains underscore (_).
- Replace the first occurrence of a letter that present after the underscore to the capitalized form of the next letter of the underscore.
- Print the modified string.
Below is the implementation of the above approach:
// Java program for the above approach class GFG {
// Function to convert the string
// from snake case to camel case
public static String
snakeToCamel(String str)
{
// Capitalize first letter of string
str = str.substring( 0 , 1 ).toUpperCase()
+ str.substring( 1 );
// Run a loop till string
// string contains underscore
while (str.contains( "_" )) {
// Replace the first occurrence
// of letter that present after
// the underscore, to capitalize
// form of next letter of underscore
str = str
.replaceFirst(
"_[a-z]" ,
String.valueOf(
Character.toUpperCase(
str.charAt(
str.indexOf( "_" ) + 1 ))));
}
// Return string
return str;
}
// Driver Code
public static void
main(String args[])
{
// Given string
String str = "geeks_for_geeks" ;
// Print the modified string
System.out.print(snakeToCamel(str));
}
} |
GeeksForGeeks
Time Complexity: O(n) where n is the length of the string
Auxiliary Space: O(1)