Camel case and snake case: Difference between revisions

New post.
(Nim solution)
(New post.)
Line 623:
" internal space " >snake " internal_space "
" internal space " >camel " internalSpace "
</pre>
=={{header|Java}}==
The output of this example reflects the authors interpretation of the task.
<syntaxhighlight lang="java">
 
import java.util.List;
 
public final class CamelCaseAndSnakeCase {
 
public static void main(String[] aArgs) {
List<String> variableNames = List.of( "snakeCase", "snake_case", "variable_10_case", "variable10Case",
"ergo rE tHis", "hurry-up-joe!", "c://my-docs/happy_Flag-Day/12.doc", " spaces ");
 
System.out.println(" ".repeat(27) + "=== To snake_case ===");
for ( String text : variableNames ) {
System.out.println(String.format("%34s%s%s", text, " --> ", toSnakeCase(text)));
}
 
System.out.println();
System.out.println(" ".repeat(27) + "=== To CamelCase ===");
for ( String text : variableNames ) {
System.out.println(String.format("%34s%s%s", text, " --> ", toCamelCase(text)));
}
}
private static String toSnakeCase(String aCamel) {
aCamel = aCamel.trim().replace(SPACE, UNDERSCORE).replace(HYPHEN, UNDERSCORE);
StringBuilder snake = new StringBuilder();
boolean first = true;
for ( char ch : aCamel.toCharArray() ) {
if ( first ) {
snake.append(ch);
first = false;
} else if ( ! first && Character.isUpperCase(ch) ) {
if ( snake.toString().endsWith(UNDERSCORE) ) {
snake.append(Character.toLowerCase(ch));
} else {
snake.append(UNDERSCORE + Character.toLowerCase(ch));
}
} else {
snake.append(ch);
}
}
return snake.toString();
}
private static String toCamelCase(String aSnake) {
aSnake = aSnake.trim().replace(SPACE, UNDERSCORE);
StringBuilder camel = new StringBuilder();
boolean underscore = false;
for ( char ch : aSnake.toCharArray() ) {
String letter = Character.toString(ch);
if ( letter.equals(UNDERSCORE) || letter.equals(HYPHEN) ) {
underscore = true;
} else if ( underscore ) {
camel.append(Character.toUpperCase(ch));
underscore = false;
} else {
camel.append(ch);
}
}
return camel.toString();
}
private static final String SPACE = " ";
private static final String UNDERSCORE = "_";
private static final String HYPHEN = "-";
}
</syntaxhighlight>
{{ out }}
<pre>
=== To snake_case ===
snakeCase --> snake_case
snake_case --> snake_case
variable_10_case --> variable_10_case
variable10Case --> variable10_case
ergo rE tHis --> ergo_r_e_t_his
hurry-up-joe! --> hurry_up_joe!
c://my-docs/happy_Flag-Day/12.doc --> c://my_docs/happy_flag_day/12.doc
spaces --> spaces
 
=== To CamelCase ===
snakeCase --> snakeCase
snake_case --> snakeCase
variable_10_case --> variable10Case
variable10Case --> variable10Case
ergo rE tHis --> ergoRETHis
hurry-up-joe! --> hurryUpJoe!
c://my-docs/happy_Flag-Day/12.doc --> c://myDocs/happyFlagDay/12.doc
spaces --> spaces
</pre>
 
871

edits