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