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

Was it helpful?

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();
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top