【发布时间】:2012-05-05 19:44:05
【问题描述】:
我理解为什么使用正则表达式将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
*/
问题:正在寻找一种更简洁的方法来获得所需的输出?
【问题讨论】: