回答
您可以从谷歌Guava使用CaseFormat
class's LOWER_UNDERSCORE
:
CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "my_name")
我建议一个定制的解决方案
Pattern p = Pattern.compile("_(.)");
Matcher m = p.matcher("my_name");
StringBuffer sb = new StringBuffer();
while (m.find()) {
m.appendReplacement(sb, m.group(1).toUpperCase());
}
m.appendTail(sb);
System.out.println(sb.toString());
输出
myName
为什么StringBuffer而不是StringBuilder? –
由于Matcher.appendReplacement希望StringBuffer –
谢谢你不想在此包含Guava –
检查这个代码,我已经验证它。
String str = new String("my_name");
for(int i=0;i<str.length()-1;i++){
if(str.charAt(i)=='_' && (int) str.charAt(i+1)>=97 && (int) str.charAt(i+1)<=122){
str=str.replace(str.substring(i, i+2),""+(char)((int) str.charAt(i+1)-32));
}
}
System.out.println(str);
String s="srinivas";
s=s.replaceFirst(Character.toString(s.charAt(0)),
Character.toString(Character.toUpperCase(s.charAt(0))));
//s Value is "Srinivas" now
String s="My_name";
int i=s.indexOf('_');
s=s.replaceFirst(Character.toString(s.charAt(i+1)),Character.toString(Character.toUpperCase(s.charAt(i+1))));
s=s.replaceAll("_","");
一点点的解释或引用不会造成伤害,通常要求这些问题通常没有基础知识,但你知道所做的一切,这会有所帮助。 – nKn
如果你想替换的字符有多个出现,你应该把它放到一个递归方法中,而不是#replaceAll(String,String)'use#'replaceFirst(String,String)'。第一个参数是要替换的字符(在索引'i'处)与您想要大写的字符串联(在索引'i + 1'处),第二个参数是capatalised char(如上所述) –
另一种解决方案是使用的StringTokenizer:
String value = "id_app";
StringTokenizer toekn = new StringTokenizer(value,"_");
StringBuilder str = new StringBuilder(toekn.nextToken());
while (toekn.hasMoreTokens()) {
String s = toekn.nextToken();
str.append(Character.toUpperCase(s.charAt(0))).append(s.substring(1));
}
System.out.println(str.toString());
- 1. 解析驼峰字符串与名字
- 2. 从驼峰字符串分割话
- 3. 唯一字符串匹配与驼峰
- 4. 替换驼峰串用连字符的字符串
- 5. 如何将camelCase转换为带空格的字符串? (如驼峰为“驼峰”)
- 6. 要驼峰或不camel_case
- 7. T-SQL函数驼峰值驼峰值
- 8. 驼峰UI的驼峰问题
- 9. 分组字符串常量与驼峰大小写值
- 10. 在驼峰字符串之间插入空格
- 11. 麻烦转换字符串为驼峰案例
- 12. Textmate代码段正则表达式为驼峰字符串
- 13. 下驼峰
- 14. Python 2.7版 - 从字符串中删除特殊字符和驼峰规则它
- 15. 需要“字符串”为:字符串
- 16. 需要改变的字符串到日期
- 17. 更改为从驼峰小写的URL
- 18. 设置JSON驼峰
- 19. 动态变化端点驼峰
- 20. 将驼峰字符串分隔为Swift中的空格分隔字
- 21. 需要字符串操作
- 22. 需要从字符串里
- 23. 需要帮助的字符改变单个字符*
- 24. 如何虚字转换成驼峰
- 25. 需要改变
- 26. Groovy中是否有标准的管理驼峰字符串的方法?
- 27. 分割一个驼峰字符串并将该单词追加到列表中
- 28. 要更改字符的字符串
- 29. URL中的非ASCII字符参数驼峰
- 30. 请选择通过驼峰访问和连字符
番石榴真的拥有一切:) –
注意,这个转换骆驼,套管串为小写,例如'accountUsers'改为'accountusers',在这种情况下,仅在必要时使用它才是有用的,例如,原始字符串包含下划线。 – charneykaye