标题几乎说明了一切。在Java语言中,将字符串从"THIS_IS_AN_EXAMPLE_STRING"
格式转换为"ThisIsAnExampleString
“格式的最简单/最优雅的方法是什么?我认为至少有一种使用String.replaceAll()
和正则表达式的方法可以做到这一点。
我最初的想法是:在字符串前面加上一个下划线(_
),将整个字符串转换为小写,然后使用replaceAll将每个带有下划线的字符转换为其大写形式。
发布于 2013-05-21 18:03:55
另一种选择是使用Google Guava的com.google.common.base.CaseFormat
George Hawkins在下面的用法示例中留下了注释:
CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, "THIS_IS_AN_EXAMPLE_STRING");
发布于 2009-07-17 15:34:34
看看WordUtils in the Apache Commons lang库:
具体地说,capitalizeFully(String str,char[]分隔符)方法应该完成以下工作:
String blah = "LORD_OF_THE_RINGS";
assertEquals("LordOfTheRings", WordUtils.capitalizeFully(blah, '_').replaceAll("_", ""));
绿色条形图!
发布于 2014-08-20 18:40:56
使用Apache Commons Lang3库是非常容易的。
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.text.WordUtils;
public String getName(String text) {
return StringUtils.remove(WordUtils.capitalizeFully(text, '_'), "_");
}
示例:
getName("SOME_CONSTANT");
提供:
"SomeConstant"
https://stackoverflow.com/questions/1143951
复制相似问题