我明白了为什么使用正则表达式的字符串转换一样没有给出所需的输出FooBar
到Foo_Bar
这反而给了Foo_Bar_
。我本可以用String.substring做些事情,substring(0, string.length() - 2)
或者只是替换最后一个字符,但是我认为对于这种情况有更好的解决方案。
这是代码:
String regex = "([A-Z][a-z]+)";
String replacement = "$1_";
"CamelCaseToSomethingElse".replaceAll(regex, replacement);
/*
outputs: Camel_Case_To_Something_Else_
desired output: Camel_Case_To_Something_Else
*/
问题:寻找更整洁的方式来获得所需的输出?