Just try with:
"getSpecialString".replaceAll("([A-Z])", "_$1").toLowerCase();
Question
Is there a way to use RegEx in Java to replace all capital letters with an underscore and the same letter only lowercase?
Example:
getSpecialString
-> get_special_string
Solution
Just try with:
"getSpecialString".replaceAll("([A-Z])", "_$1").toLowerCase();
OTHER TIPS
There is a snakeCase method in underscore-java library:
import com.github.underscore.U;
public class Main {
public static void main(String[] args) {
U.snakeCase("getSpecialString"); // -> get_special_string
}
}
This could also work using Regex!
"MyCamelCase".replaceAll(/(?<!^)[A-Z]/g, (match) => `_${match}`).toLowerCase();