我理解为什么没有给出使用正则表达式将字符串(如 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
*/
问题: 寻找一种更简洁的方法来获得所需的输出?