Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将camelCase01替换为CamelCase\u 01_Java_Regex_String_Format - Fatal编程技术网

Java 将camelCase01替换为CamelCase\u 01

Java 将camelCase01替换为CamelCase\u 01,java,regex,string,format,Java,Regex,String,Format,输出:camel_case01 但是我想打印camel\u case\u 01行,这里有一种方法 将字符串拆分为字母和数字值,即将数字与字母分开。看这里- 然后,在所有字母表字符串上应用snake_大小写,并用“u”连接数组,因为Java似乎不支持使用\l进行大小写转换,您可以尝试以下方法: public class Test { public static void main(String[] args) { String key = "camelCase01"; Sy

输出:camel_case01


但是我想打印camel\u case\u 01行,这里有一种方法

将字符串拆分为字母和数字值,即将数字与字母分开。看这里-


然后,在所有字母表字符串上应用snake_大小写,并用“u”

连接数组,因为Java似乎不支持使用
\l
进行大小写转换,您可以尝试以下方法:

public class Test {
    public static void main(String[] args) {
    String key = "camelCase01";
    System.out.println(caseFormat.LOWER_CAMEL.to(caseFormat.LOWER_UNDERSCORE, key));
    }
}
输出


替换
(?=\d+)
。这将打印camel\u case\u 0\u 1。@Andy Turner但我需要打印camel\u case\u 01您只想让regex执行此任务吗?因为在java中,这可以通过其他方式轻松完成。
public static String toSnake(String s) {
        return s.replaceAll("([A-Z]|\\d+)", "_$1") // add _ before a cap letter or sequence of digits
                .replaceAll("_+", "_") // replace multiple underscores with one
                .replaceAll("^_", "")  // remove leading underscores
                .toLowerCase();
}

// Test
Arrays.asList(
    "camelCase01", "anotherCamelCase", "version1", 
    "version1_2", "PascalCase", "123SlySnake")
    .forEach(s -> System.out.println(s + " -> " + toSnake(s)));
camelCase01 -> camel_case_01
anotherCamelCase -> another_camel_case
version1 -> version_1
version1_2 -> version_1_2
PascalCase -> pascal_case
123SlySnake -> 123_sly_snake