标题基本概括了所有内容.我能用Java格式"THIS_IS_AN_EXAMPLE_STRING"转换格式为" ThisIsAnExampleString" 的字符串的最简单/最优雅的方法是什么?我认为必须至少有一种方法可以使用String.replaceAll()和正则表达式.
我最初的想法是:在字符串前加下划线(_),将整个字符串转换为小写,然后使用replaceAll将每个前面带下划线的字符转换为大写字母.
如何转换"HelloWorld"为"Hello World".分裂必须基于大写字母,但应排除第一个字母.
PS:我知道使用String.split然后合并.只是想知道是否有更好的方法.
什么是一个转换的最佳方式"PascelCase"串,像下划线分隔全部大写"Pascel_CASE"。我写了这个有效的代码:
private static String pascelCaseToUpperCaseSeparatedByUnderscore(String s) {
String[] values = s.split("(?<=[a-z])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])");
for (int i = 0, len = values.length; i < len; i++) {
values[i] = values[i].toUpperCase();
}
return String.join("_", values);
}
Run Code Online (Sandbox Code Playgroud)
但是,有没有更好的方法说,使用库来做到这一点?