首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将Java string从全部大写(由下划线分隔的单词)转换为CamelCase (没有单词分隔符)的最简单方法是什么?

将Java string从全部大写(由下划线分隔的单词)转换为CamelCase (没有单词分隔符)的最简单方法是什么?
EN

Stack Overflow用户
提问于 2009-07-17 15:19:36
回答 18查看 243.4K关注 0票数 173

标题几乎说明了一切。在Java语言中,将字符串从"THIS_IS_AN_EXAMPLE_STRING"格式转换为"ThisIsAnExampleString“格式的最简单/最优雅的方法是什么?我认为至少有一种使用String.replaceAll()和正则表达式的方法可以做到这一点。

我最初的想法是:在字符串前面加上一个下划线(_),将整个字符串转换为小写,然后使用replaceAll将每个带有下划线的字符转换为其大写形式。

EN

回答 18

Stack Overflow用户

回答已采纳

发布于 2013-05-21 18:03:55

另一种选择是使用Google Guava的com.google.common.base.CaseFormat

George Hawkins在下面的用法示例中留下了注释:

代码语言:javascript
复制
CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, "THIS_IS_AN_EXAMPLE_STRING");
票数 216
EN

Stack Overflow用户

发布于 2009-07-17 15:34:34

看看WordUtils in the Apache Commons lang库:

具体地说,capitalizeFully(String str,char[]分隔符)方法应该完成以下工作:

代码语言:javascript
复制
String blah = "LORD_OF_THE_RINGS";
assertEquals("LordOfTheRings", WordUtils.capitalizeFully(blah, '_').replaceAll("_", ""));

绿色条形图!

票数 140
EN

Stack Overflow用户

发布于 2014-08-20 18:40:56

使用Apache Commons Lang3库是非常容易的。

代码语言:javascript
复制
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.text.WordUtils;

public String getName(String text) {
  return StringUtils.remove(WordUtils.capitalizeFully(text, '_'), "_");
}

示例:

代码语言:javascript
复制
getName("SOME_CONSTANT");

提供:

代码语言:javascript
复制
"SomeConstant"
票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1143951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档