给定一个驼峰大小写的字符串,任务是编写一个Java程序,将给定的字符串从驼峰大小写转换为蛇形大小并打印修改后的字符串。
例子:
Input: GeeksForGeeks
Output: geeks_for_geeks
Input: CamelCaseToSnakeCase
Output: camel_case_to_snake_case
方法1:天真的方法
- 首先,我们使用空字符串初始化变量“结果”,然后将第一个字符(小写)附加到该变量上。
- 现在,从第一个索引到最后一个索引对字符串的每个字符进行迭代,如果该字符是大写字母,我们将附加’_’和该字符(小写)以得到结果,否则仅附加该字符。
下面是上述方法的实现:
Java
class GFG {
// Function to covert camel case
// string to snake case string
public static String camelToSnake(String str)
{
// Empty String
String result = "";
// Append first character(in lower case)
// to result string
char c = str.charAt(0);
result = result + Character.toLowerCase(c);
// Tarverse the string from
// ist index to last index
for (int i = 1; i < str.length(); i++) {
char ch = str.charAt(i);
// Check if the character is upper case
// then append '_' and such character
// (in lower case) to result string
if (Character.isUpperCase(ch)) {
result = result + '_';
result
= result
+ Character.toLowerCase(ch);
}
// If the character is lower case then
// add such character into result string
else {
result = result + ch;
}
}
// return the result
return result;
}
public static void main(String args[])
{
// Given string str
String str = "GeeksForGeeks";
// Print the modified string
System.out.print(camelToSnake(str));
}
}
Java
class GFG {
// Function to covert camel case
// string to snake case string
public static String
camelToSnake(String str)
{
// Regular Expression
String regex = "([a-z])([A-Z]+)";
// Replacement string
String replacement = "$1_$2";
// Replace the given regex
// with replacement string
// and convert it to lower case.
str = str
.replaceAll(
regex, replacement)
.toLowerCase();
// return string
return str;
}
// Driver Code
public static void main(String args[])
{
// Given string str
String str = "GeeksForGeeks";
// Print the modified string
System.out.print(camelToSnake(str));
}
}
输出:
geeks_for_geeks
方法2:使用String.replaceAll方法
- 这个想法是使用String.replaceAll方法将给定的字符串从驼峰大小写转换为蛇形大小写。
- String.replaceAll方法接受两个参数,即正则表达式和替换字符串。它用替换字符串替换正则表达式,并打印修改后的字符串。
下面是上述方法的实现:
Java
class GFG {
// Function to covert camel case
// string to snake case string
public static String
camelToSnake(String str)
{
// Regular Expression
String regex = "([a-z])([A-Z]+)";
// Replacement string
String replacement = "$1_$2";
// Replace the given regex
// with replacement string
// and convert it to lower case.
str = str
.replaceAll(
regex, replacement)
.toLowerCase();
// return string
return str;
}
// Driver Code
public static void main(String args[])
{
// Given string str
String str = "GeeksForGeeks";
// Print the modified string
System.out.print(camelToSnake(str));
}
}
输出:
geeks_for_geeks